【发布时间】:2013-10-02 21:11:20
【问题描述】:
LinkAdapter 是一个扩展 ArrayAdapter 的类。
private static List<LinkData> linkDataList = new ArrayList<LinkData>();
private LinkAdapter la;
la = new LinkAdapter(someLinkDataitmes, getActivity());
ListView lv = (ListView) v.findViewById(R.id.urls);
lv.setAdapter(la);
public class LinkData {
private String name, image, description;
public LinkData(String name, String image, String description){
this.name = name;
this.image=image;
this.description=description;
}
}
现在我想稍后更新我的listview,
ListView lv = (ListView) v.findViewById(R.id.urls);
LinkAdapter mListAdapter = ((LinkAdapter)lv.getAdapter()); // this line is giving an error.
mListAdapter.add(new LinkData(name_val, image_val, description_val));
mListAdapter.notifyDataSetChanged();
但代码不起作用(给NullPointerException)
在互联网上搜索了很多,但找不到我的问题的具体答案。
【问题讨论】:
-
发布异常的Logcat。
-
为什么不使用最初设置适配器时分配的“la”字段?
-
请发布更多代码。您当前的代码甚至无法编译。将第一块代码放入方法中,然后发布 logcat。
-
@dymmeh la 在不同的类中定义。有没有办法让我做到这一点。
-
@Prmths 当我尝试执行此操作后,我的应用程序严重冻结,因此我无法捕获 logcat 的输出。
标签: android android-arrayadapter listadapter