2016-01-24 56 views
0

我在我的應用程序中添加了一個recycleView(MainActivity)。當我觸摸一個項目時,一個活動(ItemActivity)被調用,獲得關於該項目的一些信息+一個動作按鈕。我有一個在onCreate(MainActivity)方法中填充recycleView的方法。Android Activity onCreate

我已經將它安裝在兩個手機上,一個是Android 5.1,另一個是Android 4.2。

在5.1上,我選擇一個項目,使用操作按鈕執行操作並使用「返回按鈕」返回到列表(mainAcitivity)。 onCreate方法被調用,因此recycleView被更新。

在4.2上,我做了同樣的事情,但是當我回去時onCreate方法沒有被調用。

也許我做錯了什麼?

底線吧,我需要在動作後重新加載recycleView。

+1

你可以張貼一些代碼? – Msp

+0

不知道,我在家,代碼在工作。 – Notheros

回答

0

重寫Activity的onResume()方法,調用方法在onResume中加載recycleView。

+0

此外,它可能更正確地使用 adapter.notifyDataSetChanged(); 而不是整個初始化 – gilgil28

+0

我會嘗試。 – Notheros

1

僅當創建活動或被銷燬時纔會調用onCreate。如果向後導航,活動仍然可以存在,並且您應該使用onStart來捕捉這一點。或onResume。

看看這裏的活動週期:

http://developer.android.com/reference/android/app/Activity.html

+0

但Android 5和4之間的這種區別,爲什麼一個調用onCreate當我回去,另一個沒有?我沒有完成第一個活動,我打開第二個「高於」它。 – Notheros

+0

我第一個案例活動仍然存在於內存中(也許設備上有更多的內存),當你回來時就調用Resume。我的第二個案例活動被破壞了,當你回來時它被重新創建並且onCreate被調用。看看我給你的鏈接上的活動生命週期。 – alekz

+0

@Notheros它與'Android'操作系統版本無關。這是設備上的記憶問題。 – Onik