我有一個設置如下的Android:從「孫」活性
活性1使用ListView和ListAdapters從類型A的對象的列表中顯示信息 刷新列表視圖(通過從數據庫中檢索第一次叫它)。
在點擊在活動1 ListView中的項目,則控制前進 到活動2,這再次使用ListView和ListAdapters顯示從類型B的對象列表 信息
有一個'活動2中的「+」按鈕,當點擊切換時,將 控件切換到活動3.在這裏,我可以創建一個類型爲B的對象並將其保存到數據庫。 現在我用活動3
setResult()
和onActivityResult()
在活動2活動2
到目前爲止好更新列表。我可以看到,我只是在活動2.
現在創建如果我按後退按鈕並返回到活動1 B型的項目,並在 挖掘型A相同的項目,然後當我去到活動2,我剛剛創建的項目 未顯示。但是,當我關閉應用程序,並再次打開它,並按照相同的路徑,我可以看到該項目。 (當列表從數據庫中重新加載時)
那麼如何更新活動1中的列表?
我希望我能正確解釋我的問題(如果不是,請道歉!)。我不想把所有的代碼放在這裏,因爲代碼沒有問題,除非我的方法是錯誤的。
謝謝,這有幫助。因此,我可以將新對象放在Activity 2的'onStop()'中,並將其放入Activity 1的'onResume()'中並更新列表。我會嘗試! – rgamber
@rgamber如果你的意思是「把對象放到'onStop()'」的數據庫中,那麼是的,就是這樣。 –
因此,我現在使用'Loader'和'ContentProvider'進行數據庫操作,並在'Activity.onResume()'中添加了從數據庫加載列表的代碼,並解決了我的問題。但我仍然不確定這是做到這一點的最佳方式。基本上我現在正在訪問數據庫並重新加載完整列表以加載/更新一個新項目。我找不到如何在活動中使用'LoaderManager'來避免數據庫跳閘。可能我會回到這個問題! – rgamber