2013-06-12 85 views
0

我有兩個活動。無法獲得listview更新,試過大多數解決方案

活動A:包含一個列表視圖和一個「編輯」按鈕。活動B:包含一個表單和一個保存按鈕。

當您啓動應用程序時,它會打開活動A.按'編輯'按鈕打開活動B.填寫表單,按保存並將其存儲在SQlite 3數據庫中,然後殺死活動B.此調用活動A的onResume方法。

在此onResume()方法中,我試圖刷新listView以顯示剛剛保存到其中的新數據。

它目前看起來像這樣;

@Override 
    protected void onResume() { 
     super.onResume(); 

     arrayAdapter.notifyDataSetChanged();   
     lv.invalidate(); 
     System.out.println("onResume must have been called "); 
    } 

爲什麼我的listview從不刷新?它只顯示新數據,如果我完全終止活動並重新打開它

+0

你能發佈多一點的代碼嗎?很難說這個代碼有什麼問題。 – Don

+0

那麼其餘的只是在SQlite數據庫的OnCreate中填充listview,並且工作正常。 無效()工作的文字。 –

+1

你是如何填充陣列適配器的?你給它一個List或數組嗎?您必須確保支持適配器的數據結構得到更新(也許它沒有更改sqllite數據庫)。完全重新啓動活動可能會執行對數據庫和其他選擇。 – DNax

回答

0

您必須確保支持適配器的數據結構得到更新(也許它沒有sqllite數據庫更改)。

發生在你身上的是重新啓動活動完全執行對數據庫和其他選擇。

+0

是的,我剛剛複製了代碼,我第一次填充arrayAdapter,並放置在notifyDataSetChanged()和invalidate()前面。現在完美工作。 –

+0

Great Crimson.King。 – DNax

相關問題