У меня есть расширяемое представление списка, каждое представление имеет несколько текстовых представлений. Для слежения за редактированием фокуса текста и его данных я звоню setOnFocus слушателю. Но это работает только тогда, когда я изменяю свой фокус просмотра текста. Когда я выбираю или нажимаю «Новый родительский элемент», я теряю его фокус.
Пример кода
final ViewHolder holder;
@Override
public View getChildView(final int parent, final child, boolean b, View view, ViewGroup viewGroup) {
holder.editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
if (view == null) {
holder = new ViewHolder();
holder.editText = view.findViewById(R.id.txtRecordComment);
} else {
holder = (ViewHolder) view.getTag();
}
holder.editText.setText(map.get("ed_" + parent + "" + child));
@Override
public void onFocusChange(View view, boolean hasFocus) {
if(!hasFocus)
map.put("ed_" + parent + "" + child, holder.editText.getText().toString());
}
});
}
Код работает нормально, если я изменяю фокус editText, но он не сохраняется, если я нажимаю на следующий родительский элемент
Есть ли у них возможность использовать функцию Key Up ??