Java RecylerView数据更新始终将重点放在第一项上
我在使用包含Java RecylerView数据更新始终将重点放在第一项上,java,android,android-recyclerview,Java,Android,Android Recyclerview,我在使用包含EditText的新ArrayList更新recyleview时遇到了一个问题。每当RecylerView更新为新的ArrayList时,程序总是选择RecyclerView中第一项的EditText 每当焦点发生变化时,监听器就会调用下面的更新函数。因此,换句话说,您无法在RecylerView中有效地选择任何其他EditText项目,因为当第一个项目失去焦点时,RecyclerView会更新为新的ArrayList,然后自动选择RecyclerView中第一个项目的EditTex
EditText
的新ArrayList
更新recyleview
时遇到了一个问题。每当RecylerView
更新为新的ArrayList
时,程序总是选择RecyclerView
中第一项的EditText
每当焦点发生变化时,监听器就会调用下面的更新函数。因此,换句话说,您无法在RecylerView
中有效地选择任何其他EditText
项目,因为当第一个项目失去焦点时,RecyclerView
会更新为新的ArrayList
,然后自动选择RecyclerView
中第一个项目的EditText
默认情况下,notifyDataSetChanged()
会自动选择第一项吗?或者可能是因为某种方式我设置了适配器
private void refreshRecyclerList() {
// Set titles for the Recycler View Items
textInputList.clear();
textInputList.add(new EditTextRecyclerItem("Monthly on New Stuff", stringSpendingMonthly));
textInputList.add(new EditTextRecyclerItem("Yearly on New Stuff", stringSpendingAnnually));
//mAdapter.updateArrayList(textInputList);
mAdapter.notifyDataSetChanged();
}
我是Android新手,所以如果这是一个我忽略的简单修复,请原谅。如果您调用此mAdapter.notifyDataSetChanged()
则意味着整个recyclerview正在刷新,因此如果您想关注更改的项myAdapter.notifyItemInserted(position)
或myAdapter.notifyItemChanged()
或者您可以通过RecyclerView.scrollToPosition()滚动您的RecyclerView
如果不起作用,请尝试回复我。谢谢您的建议。我不知道该如何实施。当当前项失去焦点时,通知程序将激发。所以很容易知道焦点所在的位置,但不知道它要去哪里。