我对ListAdapter有疑问。当我创建一个ListAdapter时,我总是需要使用new进行记录或创建一个。

例如。

private void addListAdapter(){
   MyAdapter myAdapter = new MyAdapter(getContext(), new ArrayList<String>();
   listView.setAdapter(myAdapter);
}


在此示例中,我将始终调用addListAdapter()重新定义适配器。我想知道是否只应该创建一次myAdapter并可以在所有活动中使用。



private MyAdapter myAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    myAdapter = new MyAdapter(getContext(), new ArrayList<String>();
    listView.setAdapter(myAdapter);
}

/** change list in MyAdapter */
private void changeListAdapter(){
   List<String> list = new ArrayList<String>();
   list.add("Name");
   list.add("LastName");
   myAdapter.changeList(list);
   myAdapter.notifyDataSetChanged();
}


在J2SE / Swing中,仅在更改TableModel中的List之后,我在应用程序中创建了唯一的TableModel。使用ListAdapter可以正常工作吗?

最佳答案

每当您都无法对其进行任何控制时,都将创建一个新实例,因为您将始终引用不同的MyAdapter实例,这也没有用。

08-18 08:24