在OnFocusChangeListener
中使用TextWatcher
或RecyclerViewAdapter
时,我遇到了一个相当奇怪的问题。我在RecyclerView
中有一个非静态的输入字段列表,我想在用户输入完成后立即收听更改。 当点击输入时,听众或观察者每秒开始无限制地射击大约10次。适配器是RealmRecyclerViewAdapter
,但我认为这不会导致问题。
我尝试在ViewHolder
构造函数和onBindViewHolder
中设置侦听器。这是我的FocusChangeListener
private class BodyFocusChangeListener implements OnFocusChangeListener {
private int position;
private boolean isFocused;
public void updatePosition(int position) {
this.position = position;
}
@Override
public void onFocusChange(View view, boolean hasFocus) {
String noteId = getItem(position).getId();
updateNote(noteId, ((EditText) view).getText().toString());
}
}
并在onBindViewHolder
holder.titleFocusChangeListener.updatePosition(holder.getAdapterPosition());
以便我的听众知道哪个元素是哪个。