再次插入数据时,Recyclerview会自动向上滚动

时间:2017-06-12 04:40:45

标签: android arraylist android-recyclerview recycler-adapter

我遇到一个问题,当我将数据添加到数组列表然后将其添加到适配器之后,当我将其设置为recycleler视图适配器时,它会自动跳转到顶部我如何防止它像我想要添加数据一样在虚拟空间我也试过使用 -

npm

但它不起作用。我怎么解决呢?

添加一些代码以便向上滚动

runOnUiThread(new Runnable() {
                                public void run() {
                                    innerAdapter.notifyDataSetChanged();
                                }
                            });

3 个答案:

答案 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();