RecyclerViewでEditTextはmap、TextWatcherの設定後もデータが乱れている

909 ワード

RecyclerVewを使用する場合、itemにEditTextが含まれている場合.私が使っている解決策は、TextWatcherを追加し、EditTextが修正した後に修正した内容をmapに保存してRecyclerViewをスライドさせると、Positionでmapのデータを位置決めし、RecyuclerViewのitemにデータを再入力すると、EditTextの内容を修正していないときもTextWatcherをコールバックするという問題があります.必要なのは適切な時にTextWatcherを追加し、必要でない時にこのリスナーを削除して下に直接コードを置くことです
 final MyTextWatcher myTextWatcher = new MyTextWatcher(position);
            holder.et_Device_Information.setOnFocusChangeListener(new View.OnFocusChangeListener() {
                @Override
                public void onFocusChange(View view, boolean b) {
                    if (b) {
                        holder.et_Device_Information.addTextChangedListener(myTextWatcher);
                    } else {
                        holder.et_Device_Information.removeTextChangedListener(myTextWatcher);
                    }
                }
            });

TextWatcher内部継承のTextWatcherを書いたんだ