Android - 如何防止 View 焦点发生变化?

标签 android android-layout

我想对我的控件 (EditText) 实现类似“beforeLosingFocus”事件的功能,并且我希望能够防止焦点更改,因此我的控件必须具有焦点,直到用户键入允许的值。

我尝试使用 onFocusChange 事件,但该事件在焦点更改后被触发。 该事件被触发两次(因为一个控件失去焦点,而另一个控件获得焦点)。

是否可以阻止另一个控件以通用方式获得焦点? (因为焦点可以通过点击另一个控件或单击“下一步”键来更改)

最佳答案

editText.setOnEditorActionListener {
    ...
        if (actionId == EditorInfo.IME_ACTION_NEXT) {
            return true // if you want to ignore IME_ACTION_NEXT
            return false // if you want to lose focus and go further
        }
    ...
    }

关于Android - 如何防止 View 焦点发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163174/

相关文章:

Android:layout_weight 在以编程方式设置时不起作用

android - 选择通过 Gmail 发送电子邮件时电子邮件正文为空

android - edittext.settext() 将键盘类型更改为默认值 [从 ?123 到 ABC]

android - 应用内账单签名验证

android - 如何跨设备将 TextView 放置在 ImageView 的同一位置?

android - 我如何使用 "android:layoutDirection"?

android - 三星 GS 4 是用于 Android 布局目的的大尺寸还是普通尺寸设备?

Android:关于应用付款的问题

android - 在 Android 内核中安装内核模块

android - 图像和文本居中的 GridView