3

私は HTC Desire 電話を持っていて、入力フィールドにフォーカスを設定し、ユーザーがハード検索ボタンをタップしたときにキーボードを表示したいと考えています。キーボードが画面に表示された直後に消えます。

onKeyDown私はこのコードでオーバーライドしました:

public boolean onKeyDown(int key, KeyEvent event) {

    if (key == KeyEvent.KEYCODE_SEARCH) {
        EditText input = (EditText) findViewById(R.id.list_search_input);
        input.setText(null);

        input.requestFocus();


        // show keyboard
        InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
        inputManager.showSoftInput(input, 0);
     }

     return super.onKeyDown(key, event);
 }

いくつかのアイデアを待っています、ありがとう!

4

2 に答える 2

1

これを交換してみてください

return super.onKeyDown(key, event);

これとともに:

return true;

super.onKeyDown(key, event);デフォルト( )のイベントハンドラを実行させているからだと思います。

于 2012-11-13T08:44:41.690 に答える
0

これをどのようにコンパイルできるのか疑問に思っています!public boolenがありますが、戻り値がありません...「returnsuper.onKeyDown(key、event);」を試してください。関数の最後に!

于 2012-11-07T15:36:53.340 に答える