我遇到一个问题,当我将数据添加到数组列表然后将其添加到适配器之后,当我将其设置为recycleler视图适配器时,它会自动跳转到顶部我如何防止它像我想要添加数据一样在虚拟空间我也试过使用 -
npm
但它不起作用。我怎么解决呢?
添加一些代码以便向上滚动
runOnUiThread(new Runnable() {
public void run() {
innerAdapter.notifyDataSetChanged();
}
});
答案 0 :(得分:6)
如果要在发送notifyDataSetChanged()之后将数据添加到adapter.Add下面,请向下滚动。
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mRecyclerView.smoothScrollToPosition(new_data_size);
}
}, 1);
答案 1 :(得分:1)
试试这个 不要更新整个RecyclerView。 Ref Here
runOnUiThread(new Runnable() {
public void run() {
innerAdapter.notifyItemInserted(position /* position of newly added item */);
}
});
答案 2 :(得分:1)
要解决此问题,您可以在视图的任何其他顶部元素上使用requestFocus()方法。
top_element.requestFocus();