编程语言
首页 > 编程语言> > java – EditText失去了对RecyclerView中Scroll的关注

java – EditText失去了对RecyclerView中Scroll的关注

作者:互联网

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

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

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

在搜索引擎优化和谷歌搜索了很多.但总能找到像android这样的答案:focusableInTouchMode =“true”和android:descendantFocusability =“afterDescendants”,它不起作用.

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

解决方法:

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

RecyclerView diagram

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

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

标签:java,android,listview,android-recyclerview,setfocus
来源: https://codeday.me/bug/20190608/1196484.html