【发布时间】:2015-10-23 18:07:11
【问题描述】:
我有一个从 Internet 下载数据的 AsyncTask,创建少于 30 个 MyObject 对象,并将其添加到列表中。最后,我将创建一个 MyAdapter,将列表作为参数传递,并将 MyAdapter 设置为回收器视图适配器:
myList.add(new MyObject("aa", "bb", cc"); //for each piece of data by Internet
MyAdapter myAdapter = new MyAdapter(myList);
recyclerView.setAdapter(myAdapter);
现在我正在考虑一种更好的编程方式:我在 AsyncTask 启动之前创建一个新的 MyAdapter,将其分配给 RecyclerView 并为每个新的 MyObject 我调用 MyAdapter 方法,将对象添加到列表中并调用 notifyItemInserted:
myAdapter = new MyAdapter();
recyclerView.setAdapter(myAdapter);
myAdapter.addMyObject(new MyObject("aa", "bb", cc"); //for each piece of data by Internet
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private List<News> data = new ArrayAdapter<>();
public void addMyObject(MyObject myObject) {
data.add(myObject);
notifyItemInserted(this.data.size() -1);
}
}
我想了解第二种方法是否比第一种方法更好:
- 响应式用户界面;
- 性能;
【问题讨论】:
标签: java android android-asynctask android-recyclerview android-adapter