美文网首页
[Android]EditText Enter键导致焦点丢失的问

[Android]EditText Enter键导致焦点丢失的问

作者: 天神Deity | 来源:发表于2018-07-12 11:18 被阅读17次

在开发Android盒子应用时,经常需要使用EditText来监听用户的输入,并且当用户输入Enter键时,获取用户输入的数据发起服务请求.然后进入下一轮的监听。到时很多时候,Enter键后,EditText的输入焦点会被切换到下一个控件,导致监听失败.

通过以下技巧可以尽量保留EditText的输入焦点
1.<requestFocus/> 声明确保在首次进入页面时,EditText能获取到焦点
2.将当前控件的id赋值给android:nextFocusDown="@id/handover_credentials"属性
3.如果存在其他的控件争用焦点(例如父布局),使用

android:focusable="false"
android:clickable="false"

移除其他控件的[获取焦点或者点击] 功能.

<EditText
        android:id="@+id/handover_credentials"
        android:layout_width="1dp"
        android:layout_height="1dp"
        android:nextFocusDown="@id/handover_credentials">
        <requestFocus/>
    </EditText>

相关文章

网友评论

      本文标题:[Android]EditText Enter键导致焦点丢失的问

      本文链接:https://www.haomeiwen.com/subject/yrnjuftx.html