初始化RecyclerView
LinearLayoutManager manager = new LinearLayoutManager(this);
mRecycler.setLayoutManager(manager);
ArrayList dataList = new ArrayList<TestBean>();
for (int i=0;i<15;i++){
TestBean bean =new TestBean();
bean.position = i+"";
dataList.add(bean);
}
adapter =new TextAdapter(R.layout.item_text_edit,dataList);
mRecycler.setAdapter(adapter);
//是指适配器,防止复用,数据错乱
数据模型bean
item布局文件,让你解忧,从此告别 类似问题
写作不易,后面是适配器全部代码
class TextAdapter extends BaseQuickAdapter<TestBean, BaseViewHolder>{ private Map<String,String> dataMap = new HashMap<String,String>(); public TextAdapter(int layoutResId, ArrayList<TestBean> data) { super(layoutResId, data); } @Override protected void convert(BaseViewHolder helper, TestBean item) { helper.setText(R.id.text_postion,item.position); EditText edit = helper.getView(R.id.text_edit); edit.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (item.intercepter){ PrintUtilsJava.pringtLog("onTextChanged- 3 -->拦截了"); item.intercepter = false; return; } PrintUtilsJava.pringtLog("onTextChanged- 3 -->"+s.toString().trim()); item.editNumber = s.toString().trim(); dataMap.put(helper.getLayoutPosition()+"",s.toString().trim()); } @Override public void afterTextChanged(Editable s) { } }); PrintUtilsJava.pringtLog("onTextChanged-- 0->"+item.editNumber); if (dataMap.containsKey(helper.getLayoutPosition()+"")){ item.intercepter = true; edit.setText(dataMap.get(helper.getLayoutPosition()+"")+""); PrintUtilsJava.pringtLog("onTextChanged- 1 -->"+dataMap.get(helper.getLayoutPosition()+"")+""); }else{ PrintUtilsJava.pringtLog("onTextChanged-- 4->"+item.editNumber); item.intercepter = true; edit.setText(""); } } public void printAllNumber() { for (Map.Entry<String, String> entry : dataMap.entrySet()) { System.out.println("printAllNumber= 位置:" + entry.getKey() + " 输入框: " + entry.getValue()); } } public void addOne() { TestBean bean = new TestBean(); bean.position = mData.size()+""; mData.add(bean); notifyDataSetChanged(); } }