gpt4 book ai didi

java - RecyclerView 数据更新始终将焦点集中在第一项

转载 作者:行者123 更新时间:2023-12-02 03:46:42 28 4
gpt4 key购买 nike

我在更新RecylerView时遇到了一个问题有了新的ArrayList其中包括 EditText 。每当RecylerView已更新为新的 ArrayList该程序始终选择 EditText RecyclerView 中第一项的。

Listeners每次焦点发生变化时都会调用下面的更新函数。换句话说,您无法有效地选择任何其他 EditText RecylerView 中的项目因为当第一个项目失去焦点时,RecyclerView更新为新的 ArrayList然后自动选择EditText RecyclerView 中第一项的.

默认情况下 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

如果不起作用,请尝试恢复我的状态。

关于java - RecyclerView 数据更新始终将焦点集中在第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56800783/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com