使用RecyclerView代替ListView,因为RecyclerView的配置可用于优化滚动性能,并提供了更多的灵活性。 在RecyclerView中,可以使用notifyDataSetChanged()方法通知Adapter其数据集已被更改,这将导致整个列表进行刷新。 为了避免此情况,可以使用notifyItemChanged()或notifyItemRangeChanged()方法仅更新特定范围内的项目。
示例代码:
// RecyclerView初始化 RecyclerView recyclerView = findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new LinearLayoutManager(this));
// Adapter初始化 MyAdapter myAdapter = new MyAdapter(dataList); recyclerView.setAdapter(myAdapter);
// 在使用RecyclerView过程中更新项 dataList.set(index, newData); myAdapter.notifyItemChanged(index); // 或 myAdapter.notifyItemRangeChanged(startIndex, itemCount);
下一篇:避免ListView重新构建