我有一個設置與數據列表視圖從數據庫自定義ArrayAdapter:刷新列表視圖數據
CustomAdapter adapter = new CustomAdapter(myview.getContext(), -1, database.getAll());
listview.setAdapter(adapter);
現在,我要當用戶刪除數據庫itemview應刷新。 到目前爲止,我可以成功地從數據庫中刪除該項目,但它仍然在列表視圖中。在一個ArrayAdapter類我稱之爲刷新()方法,從一個新的類相同,以適配器的父類
public void refresh(){
ParentClass class_par = new ParentClass();
class_par.refreshfromParent();
}
而在父類我有一個新方法:refreshfromParent()
public void refreshfromAlarm(){
DatabaseHandler database = new DatabaseHandler(myview.getContext());
listview.setAdapter(new CustomAdapter(myview.getContext(), -1, database.getAll())); // here I change listview adapter, and populate it with new database data, but I get NullPointerException
}
所以,我怎樣才能刷新列表視圖項目?請,不要提到notifyDataSetChanged(),它不工作。
只需使用adapter.notifyDatasetchanged()來刷新列表視圖 –
@Divyesh真的嗎? – Technologuy
是的,當您刪除或更改listitem數據時,只需使用上面的行。它讓你通過做 –