嗨,我用我的應用程序MainActivity
顯示網格圖像的3個選項卡查看傳呼機。對於所有3個選項卡,我有一個MovieFragment
,並且我使用FragmentsPagerAdapter
來創建MovieFragment
的新實例,每次選項卡更改。查看傳呼機不同的結果
//FragmentsPagerAdapter method
@Override
public Fragment getItem(int position) {
switch (position){
case 0: return MoviesFragment.newInstance(buildUrl(Utility.POPULAR_URL));
case 1: return MoviesFragment.newInstance(buildUrl(Utility.RATED_URL));
case 2: return MoviesFragment.newInstance("favorite");
default: return null;
}
}
//Fragment method
public static MoviesFragment newInstance(String uri){
MoviesFragment fragment = new MoviesFragment();
Bundle bundle = new Bundle();
bundle.putString("fragment", uri);
fragment.setArguments(bundle);
return fragment;
}
現在我漸漸不同的結果在我的應用程序,所以我調試的這個方法,我發現它調用標籤之前的方法選擇也就是當我打開應用它case 0 and case 1
創建實例,當我去second tab
它創建實例爲case 2
。 現在在我的第二個選項卡中,當我對數據庫進行更改並嘗試在第三個選項卡中獲取它們時,更改未反映,因爲它已在第二個選項卡被選中時創建了third tab
的實例。 我該如何解決這個問題?
檢查這個答案http://stackoverflow.com/a/18088509/4848308 –