【发布时间】:2021-06-14 13:58:33
【问题描述】:
我想在每 10 秒后显示 recyclerview 项目。例如,我的数组列表中有 8 个项目。最初我想显示 3 个项目,然后等待 10 秒后,前三个可见项目将消失,接下来的 3 个项目将显示。如何实现?
private void addList(){
ItemAdapter itemAdapter = new ItemAdapter();
itemAdapter.setImage(R.drawable.cachua);
itemAdapter.setText("Tomato");
mList.add(itemAdapter);
itemAdapter = new ItemAdapter();
itemAdapter.setImage(R.drawable.bo);
itemAdapter.setText("butter");
mList.add(itemAdapter);
itemAdapter = new ItemAdapter();
itemAdapter.setImage(R.drawable.cam);
itemAdapter.setText("oranges");
mList.add(itemAdapter);
mAdapter = new ListAdapter(mList, this);
mRecycleview.setAdapter(mAdapter);
mRecycleview.setLayoutManager(new LinearLayoutManager(this));
mAdapter.notifyDataSetChanged();
Log.d("anhtt","mlist : " +mList.size());
mList.clear();
itemAdapter = new ItemAdapter();
itemAdapter.setImage(R.drawable.quaxoai);
itemAdapter.setText("mango");
mList.add(itemAdapter);
itemAdapter = new ItemAdapter();
itemAdapter.setImage(R.drawable.dau);
itemAdapter.setText("strawberry");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mAdapter = new ListAdapter(mList, this);
mRecycleview.setAdapter(mAdapter);
mRecycleview.setLayoutManager(new LinearLayoutManager(this));
mAdapter.notifyDataSetChanged();
Log.d("anhtt","mlist : " +mList.size());
mList.add(itemAdapter);
itemAdapter = new ItemAdapter();
itemAdapter.setImage(R.drawable.tao);
itemAdapter.setText("Apple");
mList.add(itemAdapter);
mList.add(itemAdapter);
itemAdapter = new ItemAdapter();
itemAdapter.setImage(R.drawable.oi);
itemAdapter.setText("guava fruit");
mList.add(itemAdapter);
}
【问题讨论】:
-
不只是更容易使用相同的适配器,只是更新列表的内容?该代码可以改进,您也可以使用处理程序,这样您就不会锁定用户界面
标签: android multithreading android-recyclerview android-handler