andorid 在列表Adapter中edittext使用TextWatcher導致數據錯亂問題

andorid 在列表Adapter中edittext使用TextWatcher導致數據錯亂問題

這裏使用的是RecyclerView使用BaseQuickAdapter

EditText et_money=helper.getView(R.id.et_money);
 if (et_money.getTag() instanceof TextWatcher){
            et_money.removeTextChangedListener((TextWatcher) et_money.getTag());
 }
  et_money.setText(item.getMoney()+"");
  TextWatcher moneyTextWatcher=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) {

            }

            @Override
            public void afterTextChanged(Editable s) {
                if (!TextUtils.isEmpty(s.toString())){
                    item.setMoney(s.toString());
                }
            }
        };

        et_money.addTextChangedListener(moneyTextWatcher);
        et_money.setTag(moneyTextWatcher);

注意:editText賦值一定要在TextWatcher之前

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章