本文最后更新于 911 天前,其中的信息可能已经有所发展或是发生改变。
一般情况下通常会想到用TextWatcher来监听Edittext的数据变化,但是在recyclerViewAdapter更新的时候会重复触发这个监听事件,造成数据混乱。
尝试了百度上各种方法之后,都没有成功orz……
于是想到了一个解决方案,在需要保存数据的时候,只要获取到RecyclerView所有的ItemView,然后再获取到各自的Edittext就行了,可以用如下方法获取到:
RecyclerView.getLayoutManager().findViewByPosition(int position);
position就是Item的位置,这样就能正常的获取到每一个Edittext的内容了,相比监听事件需要不断地更新数据,这种方法只需要获取一次即可。
要获取到ItemView里面的Edittext,可以为Edittext设置tag,然后用findViewWithTag获取到,或者直接用findViewById。