RecyclerView嵌套多個佈局,多個editText,解決文本輸入框上下交換位置中的值問題

話不多說直接上代碼,希望能解決你們的問題,有不理解的可以給我留言

if (((ViewHolder_a) holder).editText.getTag() instanceof TextWatcher) {
    ((ViewHolder_a) holder).editText.removeTextChangedListener((TextWatcher) (((ViewHolder_a) holder).editText.getTag()));
}

    ((ViewHolder_a) holder).editText.setText(((Item_a) list.get(position)).getEditText());


TextWatcher watcher = new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    }

    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    }

    @Override
    public void afterTextChanged(Editable editable) {
        if (TextUtils.isEmpty(editable.toString())) {
            ((Item_a)list.get(position)).setEditText("");
        } else {
            ((Item_a) list.get(position)).setEditText(editable.toString());
        }
    }
};
((ViewHolder_a) holder).editText.addTextChangedListener(watcher);
((ViewHolder_a) holder).editText.setTag(watcher);

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