Android marshmallow edittext OnKeyListener 未在输入按钮上触发

标签 android android-6.0-marshmallow

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

 <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"/>

这是我的听众

  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;
            }
        }
        });

最佳答案

删除 android:imeOptions="actionDone" 并尝试。

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

(keyCode == KeyEvent.FLAG_EDITOR_ACTION)

代替

(keyCode == KeyEvent.KEYCODE_ENTER)

关于Android marshmallow edittext OnKeyListener 未在输入按钮上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36082126/

相关文章:

android - 在 Internet 上托管的 MP4 视频无法在 Android 操作系统上下载和播放 当大小大于 1,7MB 时

android - Google Places API + React Native

Android 6.0 错误处理 drawCircle 方法

java - 由于 Android 6 上的权限,GCAM 8.4.0 连接失败

Android 6.0 定位权限

android - windowSoftInputMode 在 Android M 中没有效果

android - DrawerLayout 在更新到 Android 6.0.1 后停止正常工作

Android 通知不堆叠 API 24

java - Android 6.0 应用程序未加载 Activity

android - 如何为 Galaxy Tab 或 Kindle Fire 制作模拟器?