Android setOnEditorActionListener无效

时间:2015-05-22 21:35:30

标签: android events android-edittext

由于某种原因,setOnEditorActionListener无效。

我在22的目标sdk上。

以下是我的onCreate方法中的代码:

final EditText pageBox = (EditText) findViewById(R.id.pageBox);

    searchBox.setOnEditorActionListener(new OnEditorActionListener() {
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {

        }
      }
    });

这是xml:

<EditText
   android:layout_width="0dp"
   android:layout_height="wrap_content"
   android:id="@+id/searchBox"
   android:singleLine="true"
   android:hint="@string/string_find_player"
   android:layout_gravity="left"
   android:layout_weight="1" />

非常感谢所有帮助!

2 个答案:

答案 0 :(得分:3)

您应该尝试将android:imeOptions="actionDone"添加到xml,因为您正在寻找该代码(EditorInfo.IME_ACTION_DONE):

<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/searchBox"
android:singleLine="true"
android:hint="@string/string_find_player"
android:layout_gravity="left"
android:layout_weight="1"
android:imeOptions="actionDone" />

答案 1 :(得分:0)

searchBox 是什么对象,也许您必须将侦听器添加到 pageBox