Android执行操作在编辑文本中输入

时间:2014-04-13 09:33:31

标签: android android-edittext keypress

我在用户在输入编辑文本时按Enter键时尝试执行操作,搜索。它不起作用。代码是:

edtSearch.setOnKeyListener(new OnKeyListener(){
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_ENTER){
                    System.out.println("test");
                    return true;
                }
                return false;
            }}); 

XML for edittext,

<EditText
            android:id="@+id/edtSearch"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" >
            <requestFocus />
        </EditText>

知道为什么它不起作用。

1 个答案:

答案 0 :(得分:-1)

您应该设置输入类型和IME选项,例如:

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="number"
    android:imeOptions="actionDone">`

并在您的活动中将OnEditorActionListener设置为EditText:

edit.setOnEditorActionListener(new OnEditorActionListener() {

            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if(actionId==EditorInfo.IME_ACTION_DONE){
                    Log.i(TAG,v.getText().toString());
                }
                return false;
            }
        });