1

なぜこれが機能しないのですか?? 方向パッドの「下」キーを押すのと同じ効果を生み出すボタンの onClickListener を作成しようとしています。Eclipse でエラーが表示され、「タイプ InputMethodService から非静的メソッド sendDownUpKeyEvents(int) への静的参照を作成できません」

downButton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {

                InputMethodService.sendDownUpKeyEvents(0x00000014);
            }
4

2 に答える 2

4

非静的メソッドを静的な方法で呼び出そうとしています。最初にサービスのインスタンスを取得してから、インスタンスでメソッドを呼び出す必要があります。また、キープレスのシミュレーションを行っている方法が正しくないようです。UPD:いくつか掘り下げた後、キーイベントをシミュレートすることができたので、試してください:

new Thread(new Runnable() {         
    @Override
    public void run() {                 
        new Instrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
    }   
}).start();
于 2010-08-19T21:27:25.897 に答える
3

同じ解決策、パラメータを取るだけです。

private void InjectKeys(final int keyEventCode) {
 new Thread(new Runnable() {
  @Override
  public void run() {
   new Instrumentation().sendKeyDownUpSync(keyEventCode);
  }
 }).start();
}

電話して渡すだけKeyEvent.KEYCODEInjectKeys(KeyEvent.KEYCODE_DPAD_DOWN);

私に反対票を投じたり賛成票を投じたりしないでください。私の答えは上記の答えとまったく同じです。パラメータを使用するように変更しただけです。

于 2011-01-23T23:50:22.870 に答える