刷新Android列表视图

问题描述:

我试图在数据发生变化时重新加载列表视图。但它不工作。这里是我正在使用的代码刷新Android列表视图

localPits.clear();// 
this.adapter.clear(); 
//Fetch new data and update the list 
this.localPits.addAll(pl); 
this.adapter.notifyDataSetChanged(); 
this.lst_Pits.invalidate(); 

每次我调用这部分代码现有的值都被成功删除。但新值不会在列表视图中加载。

我该如何在android中做到这一点? 谢谢

+0

确实调用了Adapter的.getView()(如果它是您的自定义实现)? – Alehar 2012-07-25 13:07:18

这不是非常清楚,但我怀疑新的值没有被加载,因为你正在清理适配器而不更新它。

您的第2行:this.adapter.clear();

你需要更新你打电话invalidate()前添加适配器。或者,至少,就我所能得到的那样。

this.adapter.clear();应该不需要。它必须重置adapterlocalPits之间的链接。

如果你需要保留这个,更新列表适配器localPits.setAdapter(adapter);。它应该解决你的问题。

+0

感谢您的回复。如果我不清除列表视图仍然相同。此外,我试图更新适配器,如你所说,但没有成功。 – Zach 2012-07-25 13:21:09

+0

'adapter'是一个ListAdapter或一个自定义类? – Hartok 2012-07-25 13:29:23

+0

其自定义类 – Zach 2012-07-25 13:32:04