Android marshmallow edittext OnKeyListener未在输入按钮

时间:2016-03-18 10:36:13

标签: android android-6.0-marshmallow

正如标题在MM设备上所说,无法识别Enter键,相同的代码在5.x上正常工作。任何帮助在这里将不胜感激。我正在使用的片段是:

 <EditText
        android:id="@+id/post_new_question_edittext_question"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:hint="@string/type_your_question_here"
        android:gravity="top"
        android:layout_weight="1"
        android:imeOptions="actionDone"
        android:inputType="textMultiLine"/>

这是我的listerner

  m_editText.setOnKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                PostNewQuestion();
                return true;
            } else {
                return false;
            }
        }
        });

2 个答案:

答案 0 :(得分:0)

删除android:imeOptions="actionDone"然后尝试。

如果您想捕捉完成的事件,可以使用

(keyCode == KeyEvent.FLAG_EDITOR_ACTION)

而不是

(keyCode == KeyEvent.KEYCODE_ENTER)

答案 1 :(得分:0)

尝试从xml中删除android:imeOptions="actionDone",希望它能正常工作。