Я использую редактировать тексты внутри расширяемого списка. Я храню значения каждого 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;
}