2014-01-18 51 views
0

我已經實現了自定義listview.Now用戶刷新應用程序從另一個活動,導致數據庫被更新。所以,現在用戶回到有自定義listview.now的活動問題是該列表視圖不會更新到新的數據集。要解決此問題,請在具有與其關聯的自定義列表視圖的活動中的onresume中調用oncreate。 但是,這樣做會導致listview中的項目自我複製(意味着它會增加項目的數量,併爲每次刷新調用重複自身)。 請幫忙!調用onResume在onResume問題

+1

永遠不要手動調用活動生命週期方法!讓Android自己做。請張貼代碼。 – Jerryl15

+0

不要在'onResume()'中調用'onCreate()'...更好的方法是你必須在'onResume()'下調用你的列表填充方法' –

回答

3

http://developer.android.com/training/basics/activity-lifecycle/starting.html

當活動開始,的onCreate(),在onStart()的onResume()方法是由一個叫序列中的一個,如果你調用的onResume()的onCreate(),這意味着你要兩次填寫清單。

你可以製作一個方法,比如fillList(),並只在onResume()狀態下調用它,這樣,每當你的活動恢復或創建時,這個方法都會被調用,但是確保這個操作不重。根據android,活動開始對用戶onStart()可見,但onResume()用戶可以進行交互。

2

作爲標題的答案,您絕對不應該在onResume()中致電onCreate(),因爲單獨使用onResume()方法是無法做到的。

當一個應用程序啓動時,不僅是onCreate()調用,而且onResume()之後。因此,將應用程序啓動或重新到達前臺時必須調用的任何代碼移動到onResume()方法中通常是最好的辦法。

如果此答案不足以滿足您的需求,我們需要更多有關您的確切代碼的信息。