Когда я пишу что-то в EditText и открываю другую группу / ExpandableListView, случайный дочерний EditText имеет то же значение, которое я пишу в первом, пустое или 0, но 0 знает, что я из onFocusChange.Я хочу, чтобы все они начинались с 0 и не дублировались, когда я что-то пишу в EditText, если кто-то может мне помочь, я был бы благодарен.
Вот мой getChildView адаптера
Адаптер
@Override
public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
convertView = layoutInflater.inflate(R.layout.questions_itens, null);
holder = new ViewHolder();
holder.editText = (EditText) convertView.findViewById(R.id.EditNumber);
holder.editText.setText(editModelArrayList.get(childPosition).getEditTextValue());
convertView.setTag(holder);
}
else {
holder = (ViewHolder)convertView.getTag();
}
final ViewHolder finalHolder = holder;
holder.editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if (!hasFocus)
{
if (!finalHolder.editText.getText().toString().equals(""))
{
editModelArrayList.get(childPosition).setEditTextValue("0");
}else {
editModelArrayList.get(childPosition).setEditTextValue("");
}
}
}
});
holder.editText.addTextChangedListener(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) {
editModelArrayList.get(childPosition).setEditTextValue(holder.editText.getText().toString());
}
@Override
public void afterTextChanged(Editable editable) {
}
});
TextView item = (TextView) convertView.findViewById(R.id.Item);
Question question = (Question) getChild(groupPosition, childPosition);
item.setText(question.getNome());
return convertView;
}
private class ViewHolder {
protected EditText editText;
}
}