我正在尝试使用recyclerview创建一个列表(下图),在里面我有一个edittext,textview,这些视图可以更改。
然而,如果Recyclerview决定重新填充它,则edittext和textview中的值将被重置,我想知道的是如何阻止Recyclerview这样做?我已经谷歌搜索了一段时间,我试图覆盖getItemViewType但仍然没有运气。
答案 0 :(得分:0)
试试这个方法,
1.使用具有项目的edittext值的列表。 //edittextlist
HashMap<Integer,String> edittextlist=new HashMap<>();
如果您想永久存储它,请使用 SharedPref 。
2.选择项目的唯一//position
3.根据edittextlist设置edittext值。
if(edittextlist.get(position)!=null) {
holder.edittext.setText(edittextlist.get(position));
}
else {
holder.edittext.setText("");
}
4。将监听器添加到您的edittext
holder.edittext.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void afterTextChanged(Editable s) {
edittextlist.put(position,s.toString);
}
});