97

こんにちは、検索EditTextと検索がありますButton。検索したテキストを入力するときに、検索の代わりにソフトキーボードのENTERButtonキーを使用して検索機能を有効にしたいと考えています。

事前に助けてくれてありがとう。

4

8 に答える 8

155

に を設定することでそれをOnKeyListener行いますEditText

これは私自身のコードのサンプルです。入力キーまたは方向パッドのいずれかがクリックされたときに関数を呼び出すEditText名前付きのがあります。addCourseTextaddCourseFromTextBox

addCourseText = (EditText) findViewById(R.id.clEtAddCourse);
addCourseText.setOnKeyListener(new OnKeyListener()
{
    public boolean onKey(View v, int keyCode, KeyEvent event)
    {
        if (event.getAction() == KeyEvent.ACTION_DOWN)
        {
            switch (keyCode)
            {
                case KeyEvent.KEYCODE_DPAD_CENTER:
                case KeyEvent.KEYCODE_ENTER:
                    addCourseFromTextBox();
                    return true;
                default:
                    break;
            }
        }
        return false;
    }
});
于 2010-12-15T15:43:54.290 に答える
28

次のように EditText に属性を追加できます。

android:imeOptions="actionSearch"
于 2010-12-15T16:07:24.843 に答える
6

android:imeOptions="actionSearch" のような EditText に属性を追加します

これが機能を実行する最良の方法です

imeOptions には、「go」、「next」、「done」などの他の値もあります。

于 2011-01-24T12:20:24.333 に答える
1

これは、私がどのように処理するかの私のアプリのサンプルです

 //searching for the Edit Text in the view    
    final EditText myEditText =(EditText)view.findViewById(R.id.myEditText);
        myEditText.setOnKeyListener(new View.OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                 if (event.getAction() == KeyEvent.ACTION_DOWN)
                      if ((keyCode == KeyEvent.KEYCODE_DPAD_CENTER) ||
                             (keyCode == KeyEvent.KEYCODE_ENTER)) {
                                //do something
                                //true because you handle the event
                                return true;
                               }
                       return false;
                       }
        });
于 2015-10-12T14:43:41.667 に答える