EditText失去了对RecyclerView中Scroll的关注

我有一个RecyclerView ,它有EditText作为列表项。 当我滚动RecyclerViewEditText在项目离开屏幕时失去焦点。 因此,当它在滚动屏幕上返回时,焦点不会保留在EditText上。

我希望焦点保持在同一个项目上。 为此我还尝试将项目的position存储在焦点上,并将焦点重新分配在onBindViewHolder 。 但滚动速度减慢了。

我也尝试使用ListView但还有另一种与focus相关的问题。 焦点跳到那里。

在搜索引擎优化和谷歌搜索了很多。 但总能找到像android:focusableInTouchMode="true"android:descendantFocusability="afterDescendants"这样的android:descendantFocusability="afterDescendants" ,这些都不起作用。

任何帮助将受到高度赞赏。

RecyclerView是重用视图,这样手机就不必立即将所有行保留在内存中,也不必经常破坏和创建视图。 当您的EditText离开屏幕时,手机将获取该视图,重置其内容并将其移动到传入视图堆栈的底部。

RecyclerView图

这意味着一旦您的EditText离开屏幕,它就不再存在。 它无法保持焦点,因为它已从布局中删除。

解决这个问题的唯一方法就是你提到的,即存储位置,检查该位置何时出现在屏幕上,以及手动恢复焦点。