如何防止recyclelerView在滚动时重置edittext?

时间:2018-03-26 09:37:18

标签: android android-recyclerview android-mvp

我正在尝试使用recyclerview创建一个列表(下图),在里面我有一个edittext,textview,这些视图可以更改。

enter image description here

然而,如果Recyclerview决定重新填充它,则edittext和textview中的值将被重置,我想知道的是如何阻止Recyclerview这样做?我已经谷歌搜索了一段时间,我试图覆盖getItemViewType但仍然没有运气。

1 个答案:

答案 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);
       }
});