每 1 秒刷新一次 RecyclerView 适配器

礼士卡玛瑞

以下是我对回收站视图的实现。

回收器视图令人耳目一新,但视图滞后很多,因此滚动不顺畅。如果我不刷新数据 recyclerView 是平滑的。问题仅在于刷新..!!

我需要在 RecyclerView 中每 1 秒完全刷新一次数据,保持相同的滚动位置。

xml

 <android.support.v7.widget.RecyclerView
    android:id="@+id/recyView_disp_pgms"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="@null" />

活动 :

RecyclerView recyView_disp_pgms = (RecyclerView) findViewById(R.id.recyView_disp_pgms);

DisplayProgramsAdapterRecycler pgmAdapter = new DisplayProgramsAdapterRecycler(programsList);
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyView_disp_pgms.setLayoutManager(layoutManager);
recyView_disp_pgms.setAdapter(pgmAdapter);


handler = new Handler();
    runnable = new Runnable() {
        @Override
        public void run() {
            System.out.println("AllPgm Runflag : " + runflag);
            programList = // Get List from database

           if (programsList != null && programsList.size() > 0) {
            if (pgmAdapter != null && pgmAdapter.getItemCount() > 0) {
                pgmAdapter.resetData(programsList);
            }
        }


            handler.postDelayed(this, 1000);
        }
    };

    handler.post(runnable);

适配器 :

 public void resetData(ArrayList<ProgramDetails_Table> programsList) {
    this.programDetailsList = programsList;
    this.notifyDataSetChanged();
}

问题 - 仅在每 1 秒刷新一次数据时延迟滚动 recyclerView

尝试关注其他帖子;但仍然没有运气。请帮忙..!!

雷扎·阿贝迪尼

如果您想刷新列表,请找到您的更改,然后通知该位置,因为 notifyDataSetChanged 会重置您的所有数据。你应该使用轻量级的通知。像这样:

    notifyItemChanged(yourPosition);
    notifyItemInserted(yourPosition);
    notifyItemRemoved(yourPosition);

或者如果您在一个范围内获得多个更改,您可以使用:

notifyItemRangeChanged(yourPosition);//and etc

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从适配器中刷新整个RecyclerView

Recyclerview 适配器不刷新

从另一个适配器刷新recyclerview适配器的值

自定义阵列适配器中的对象上的ImageLevel每100毫秒更改一次

Android RecyclerView适配器位置为-1

RecyclerView() 适配器

在Firestore功能后设置适配器或RecyclerView刷新

拉到刷新RecyclerVIew适配器不起作用

使用相同的RecyclerView适配器两次

使用多个RecyclerView一个适配器类

如何在recyclerView适配器中只运行一次代码?

使用简单的函数每 1 秒刷新一次标签中的图像

QML TableView 实时刷新仅每 1 秒更新一次 UI

从适配器更新recyclerview

从另一个片段的适配器刷新RecyclerView片段

尽管获取了正确的数据,为什么RecyclerView适配器仍未正确更新(仅第一次)?

如何在 Android 中将 RecyclerView 用于另一个 RecyclerView 的适配器?

如何在同一recyclerview的适配器类中更新recyclerview?

滚动时,RecyclerView如何从适配器获得1个额外的视图

JavaFX TableView 为每一行单独的 bean 适配器。如何?

每 1 秒更新一次片段中的 textview

每 1 秒获取一次 javascript

如何每 1 秒单击一次按钮?

我面临 RecyclerView 没有连接适配器的问题,即使在将适配器设置为布局管理器之后也是如此。我一个

两个ArrayList一个RecyclerView适配器

RecyclerView适配器仅显示第一项

RecyclerView-上下滚动一个屏幕(不基于适配器位置)

如何将Picasso与用于RecyclerView的自定义适配器一起使用

RecyclerView 未填充,可能是一个愚蠢的适配器问题