Android( Lollipop )EditText onFocus 多次触发

标签 android android-edittext android-5.0-lollipop onfocus

我有几个带有 onFocusChangeListeners 的 EditText

// When the field gains or loses focus
txtMinimumValue.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View view, boolean hasFocus) {
        editFocusChange(view, hasFocus);
    }
});

我在 Lollipop 之前的设备上没有遇到任何问题,但是任何 Nexus 5 和 onFocusChange 都会触发大约 7 次。

我发现了这个:Custom ListAdapter consisting of EditText lose focus called twice

然后我发现这个看起来相关的 Android 开源问题:https://code.google.com/p/android/issues/detail?id=80180 一位项目成员说,“框架版本也这样做。为将来的版本修复。”想知道 appcompat-v7:21.0.3 何时发布,我可以测试这是否解决了我的问题?

有人遇到同样的问题吗?

最佳答案

我有许多筛选器屏幕,其中我可能在顶部有多个 View 和编辑框,然后是 ListView 中的值列表。我一直在动态构建数组值的底部 ListView ,然后以编程方式构建 View 的顶部并将此顶部部分添加为标题 View 。这是为了让整个屏幕一起滚动,因为你不应该将 ListView 添加到 ScrollView

顶部部分的任何 EditText View 都可能有 onFocusChange 方法来调整手动输入的过滤器值。在 Lollipop 上,一定有一个错误,这些以编程方式构建的 View 添加为 ListView header 不起作用,因为 onFocusChange 方法重复触发。我必须将顶部构建为 xml,以便 onFocusChange 方法正确触发。

关于Android( Lollipop )EditText onFocus 多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27370105/

相关文章:

android - 如何使光标位于 EditText 内提示的右侧?

c# - 如果用户开始使用 @ 特殊字符(如 whatsapp 标记功能)打字,Xamarin Android 如何显示列表?

android - 在 Recyclerview 中拖动项目时自动滚动滚动条

android - android中的高斯模糊非常慢

java - 教程第 6 部分中出现错误 : JSON Parsing and Android ListView Design

android - 应用仅在 Android 5.0 上崩溃并出现 VerifyError

android-5.0-lollipop - 以编程方式打开android Lollipop中的手电筒

android - AlertDialog 按钮未包装在 Lollipop 中

java - .set Preview Display(holder) 创建空指针异常