首页 > 移动平台 > 详细

Android开发 EditText按回车按键后出现 focus search returned a view that wasn't able to take focus! 错误

时间:2019-08-14 20:21:19      阅读:92      评论:0      收藏:0      [点我收藏+]

问题描述

  将EditText这个View成为了ListView或者RecyclerView的item时,在按输入法的回车/下一步/next时会出现的 focus search returned a view that wasn‘t able to take focus!的报错. 

 

问题原因

  因为在按下回车键后,焦点会自动切换到下一个EditText上.这个时候如果你隐藏或者本身未加载下一个EditText.就出现这个报错. 报错的意思就是我的焦点目标丢失了,找不到下一个EditText.

 

解决办法

第一种:

  在EditText属性里设置 android:imeOptions="actionUnspecified" . imeOptions就是控制回车键具体作用的属性

<EditText
        android:id="@+id/title_content"
        android:layout_width="0dp"
        android:layout_height="60dp"
        android:hint="请输入标题"
        android:singleLine="true"
        android:maxLength="20"
        android:inputType="text"
        android:imeOptions="actionUnspecified"
        app:layout_constraintTop_toBottomOf="@id/cover_barrier"
        app:layout_constraintLeft_toRightOf="@id/title"
        app:layout_constraintRight_toRightOf="parent"/>

  如果actionUnspecified属性设置后依然会报错,你可以尝试另外一个属性actionNone

第二种:

  这种办法就是监听编辑器操作,然后将回车操作写成自己需要的功能(将回车键或者其他键值取代成自己想要实现的逻辑).或者直接不写... 这种方式比较简单暴力

            mEditView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                    return true;
                }
            });

注意需要返回 true 表示你已经处理过这个事件了.

 

Android开发 EditText按回车按键后出现 focus search returned a view that wasn't able to take focus! 错误

原文:https://www.cnblogs.com/guanxinjing/p/11354390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!