android - Recyclerview插入数据时自动向上滚动

标签 android arraylist android-recyclerview

我遇到一个问题,当我将数据添加到数组列表,然后将其添加到适配器中时,当我将它设置为回收器 View 适配器时,它会自动跳到顶部我怎么能像我想添加数据一样阻止它在虚拟空间中,我也尝试使用 -

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

但它不起作用。我该如何解决?

添加一些向上滚动的代码

if (isScrollUp) {
                            isEnable = true;
                            userChats.addAll(0, model.data);
                                                       innerChatAdapter.notifyDataSetChanged();
                            new Handler().postDelayed(new Runnable() {
                                @Override
                                public void run() {
                                    nnerChatAdapter.notifyItemInserted(0);
                                    recyclerView.smoothScrollToPosition(0);
                                }
                            }, 1);
                        }

最佳答案

你好,如果你想在将数据添加到适配器后向下滚动。在调用 notifyDataSetChanged() 后添加以下方法。

 new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                mRecyclerView.smoothScrollToPosition(new_data_size);
            }
        }, 1);

关于android - Recyclerview插入数据时自动向上滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44491526/

相关文章:

java - Android OpenGL 中的 FloatBuffer

java - 如何在 Java 中更改字符串

Android - 使用 ItemTouchHelper.Callback 拖动 RecyclerView

php - Android 如何从数组创建一个 json 并发送到 php 服务器

java - RecyclerView 插入动画中断 OnClick

java - android - 是否以编程方式制作旋转器

java - 改组 ArrayList 的算法太慢

java - 将部分 JSON 格式的列表数据转换为 map

android - Recyclerview 适配器中的 getItemCount() 在 asyncTask 执行后返回 0

android - 如何使用回收器 View 模拟 View 寻呼机?