gpt4 book ai didi

android-edittext - 为什么 Android ViewPager2 在选项卡之间切换时会失去焦点?

转载 作者:行者123 更新时间:2023-12-05 07:00:54 41 4
gpt4 key购买 nike

我的 Android 应用程序上有一个 ViewPager2。其中一个页面包含一个 EditText 字段。

我遇到的场景如下:

  1. 将焦点放在文本字段上 -> 键盘显示
  2. 切换到另一个页面 -> 键盘关闭(字段失去焦点)
  3. 返回上一个选项卡并再次将焦点放在文本字段上 -> 该字段将获得焦点,但焦点会立即清除。再次点击该字段将重新获得焦点。

我准备了一个小型演示应用程序来演示这个问题:https://github.com/hilaza/SwitchTabsBugDemo

我对其进行了调试,发现 ViewPager 清除了我页面的焦点,认为页面已被选中。进一步调试它我发现它与 RecyclerView 的 didChildRangeChange 方法有关,该方法错误地假设某些东西已经改变。

有没有人碰巧知道为什么会这样,我该怎么做才能解决这个问题?

最佳答案

这是一个由于 Recycler 行为而发生的奇怪错误。不幸的是,无法解释为什么会发生这种情况,但可以肯定这一行可能对您有所帮助:

pager.offscreenPageLimit = 1

或 Java 中的等效项。这可能会有所帮助,因为它会禁用某些 Recycler 行为。如果有人更好地解释它会很高兴。遇到了同样的问题并用这个解决了。

关于android-edittext - 为什么 Android ViewPager2 在选项卡之间切换时会失去焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63995653/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com