我使用DialogFragment創建了一個自定義對話框,在對話框中,我可以將一些數據添加到SQLite數據庫。此外,主活動中還有一個listview,它顯示SQLite的數據。如何在使用DialogFragment更改數據後刷新ListView?
我想刷新列表視圖,當我從對話框中添加數據到數據庫。但是,我有一些問題。
我在onResume()中調用notifyDataSetChanged(),但是當我關閉對話框時,listview不刷新。如果我按主頁按鈕並從最近列表中打開活動,則列表視圖將刷新。
@Override
protected void onResume() {
super.onResume();
listItem.clear();
ServerListDB db = new ServerListDB(context);
Cursor cursor = db.select();
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("serverName", String.valueOf(cursor.getString(1)));
map.put("serverIp", cursor.getString(2));
map.put("serverPort", cursor.getString(3));
listItem.add(map);
}
notifyDataSetChanged();
}
我添加log.v中的onPause(),並在對話框中顯示,在onPause()沒有被調用。 DialogFragment是否正確?
@Override
protected void onPause() {
super.onPause();
Log.v("Pause", "onPause() called!");
}
是的onResume甚至稱,你檢查了嗎? – Dusan 2013-05-01 15:36:06
當對話框關閉時,onResume不會被調用,但如果我在最近的應用程序列表中選擇活動,它將被調用 – rookiepeng 2013-05-01 16:37:15