I have list item with EditText
in it, I don\'t know how many items there will be. I have a problem when I enter some text in EditText
, and then scr
First, declare a String[]
or List
member variable (inside the class outside the getView()
) for storing the input text from your EditText
object, and record the text in addTextChangeListener()
you set on the EditText
object.
Second, put your setText()
after (not inside) the addTextChangeListener()
.
viewHolder.editText.removeTextChangedListener(viewHolder.textWatcher);
viewHolder.textWatcher = 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) {
}
@Override
public void afterTextChanged(Editable editable) {
mInputs[position] = editable.toString(); //record input
viewHolder.editText.setSelection(viewHolder.editText.getText().length()); //set cursor to the end
}
};
viewHolder.editText.addTextChangedListener(viewHolder.textWatcher);
viewHolder.editText.setText(mInputs[position]);
private class ViewHolder {
EditText editText;
TextWatcher textWatcher;
public ViewHolder(View itemView) {
editText = itemView.findViewById(R.id.main_editText);
}
}