3

我正在尋找片段生命週期中的方法,但我不確定哪一個。Android:片段生命週期中的方法

這是我的情況:我有一個ViewPager內的片段。片段顯示包含一些信息的列表。我填寫了片段的onCreateView()中的列表。當用戶打開不同的活動(在這種情況下爲設置)並更改一些設置時,片段中的列表必須顯示的信息發生變化。當用戶使用後退按鈕返回片段時,onCreateView()不會被重新調用,因此列表中的信息不會更新。

我的問題是:onCreateView() - 當用戶返回片段形式不同的活動,但在這裏調用哪種方法時不調用 - 方法?我需要知道這一點,因爲那樣我就可以在該方法中填充List。

在此先感謝!

+1

「onResume」呢? – 2013-03-09 10:32:20

+0

@vmironov'onResume()'也被稱爲第一次創建片段或只有當用戶返回? – Xander 2013-03-09 10:33:19

+0

是的,當創建片段時調用它 – 2013-03-09 10:33:56

回答

2

重要且非顯而易見的一點是,不僅在您選擇帶有此片段的Tab時調用片段的onCreateView()。所以當使用ViewPager()時,不依賴片段的onCreateView()。當你選擇Tab時,Android創建sible視圖(緩存它們)或者做出類似的事情。

當用戶在ViewPager中選擇正確的Tab時(不記得確切,但希望它有幫助),你應該調用你的更新方法。

+0

我會記住這一點,但現在,我只在onCreateView()中調用'findViewById()',所以我敢打賭,這不會是一個問題,是嗎? – Xander 2013-03-09 10:50:38

+0

使用findViewById() - 沒有問題,因爲您只需創建一些視圖的引用。如果您放置一些UI刷新,或者特別耗費時間的邏輯,可能會出現意外的行爲,因爲它可能比您預期的要早。 – 2013-03-09 18:31:18

+0

好的,謝謝! – Xander 2013-03-09 18:34:47