Каков наилучший способ хранения значений текста редактирования в расширяемом представлении списка? - PullRequest
0 голосов
/ 07 ноября 2018

Я использую редактировать тексты внутри расширяемого списка. Я храню значения каждого texbox внутри hashmap. Но проблема в том, что когда что-то вводится в ed_00 из parent1 , тот же текст отражается внутри ed_30 из parent2 . Я использую слушатель onFocusChange для сохранить значения текстового поля внутри hashmap.

Будет очень полезно, если кто-нибудь подскажет мне, как лучше сохранить значения текстовых полей в hashmap.

Код

 @Override
public View getChildView(final int parent_position, final int child_position, boolean b, View view, ViewGroup viewGroup) {

   if (view == null) {
        holder = new ViewHolder();
        holder.editText = view.findViewById(R.id.txtRecordComment);
        view.setTag(holder);
    } else {
        holder = (ViewHolder) view.getTag();
    }

    //reading edittext value from hashmap
    holder.editText.setText(map.get("ed_"+child_position+""+parent_position));

    // storing key and value {"ed_00":"Hii",ed_01:"Hello"....}
    holder.editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean hasFocus) {
            if (!hasFocus) {
                map.put("ed_" + child_position + "" + parent_position, holder.editText.getText().toString());
            }
        }
    });

 return view;
 }
...