我在RecyclerView的适配器类中的onBindViewHolder()上有以下内容:
holder.answerEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus){
String answer = holder.answerEditText.getText().toString();
mDatasetAnswers.add(answer);
}
}
});
以上只返回来自recyclerview中第一个editText的输入。我能做错什么? 我希望它从recyclerview中的所有EditTexts返回文本。
答案 0 :(得分:0)
尝试添加以下行:
holder.answerEditText.setFocusable(true);
holder.answerEditText.setFocusableInTouchMode(true);
使用这些线条可确保组件可以捕获焦点。
答案 1 :(得分:0)
这是因为一旦您点击了Recyclerview中的任何编辑框,弹出键盘,因为调用onbindview并且焦点更改为recyclerview中的第一个框,因为所有行都会再次重新充气。
因此,监视焦点增益并在键盘弹出之前先做你的事情。希望这会有所帮助。