2012-09-24 19 views
-1

我的Android應用程序出現問題。ListView:添加一個項目,然後用返回按鈕返回到刷新列表

我有一個ListView和這個ListView從數據庫中獲取數據,我通過SimpleCursorAdapter綁定它。

現在我有一個按鈕來添加一個新的條目到數據庫,然後一個新的意圖開始,我創建一個新的項目,並將其添加到數據庫。添加完後,我進入一個新頁面。

現在我想有以下幾點:

當我到了新的一頁,我按後退按鈕,我不想被轉發到創造新的網頁,我想跳過它並直接返回到ListView。 另一個問題是,ListView應該顯示新條目。它應該以某種方式刷新。

如何實現這一點?

回答

1
  1. 當您創建新意向的項目添加到數據庫中,請確保您設置Intent.FLAG_ACTIVITY_NO_HISTORY使新的意圖不是保存在歷史堆棧 如:myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)

  2. 當基礎數據適配器被更改,您希望的變化,以反映您的ListView,調用適配器notifyDataSetChanged()方法(在你的情況下,單擊後退按鈕) 如:myAdapter.notifyDataSetChanged()

0

首先,用startActivityForResult()開始您的活動(即添加新元素到數據庫),因此當該活動完成時(例如通過按下後退按鈕),將調用onActivityResult()回調函數列表)。在此方法中,再次運行查詢以填充列表,使用生成的光標創建一個新的SimpleCursorAdapter,並通過setAdapter()將其提供給列表。