2016-03-07 71 views
0

嗨,我用我的應用程序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的實例。 我該如何解決這個問題?

+0

檢查這個答案http://stackoverflow.com/a/18088509/4848308 –

回答

0

@Sahil這是因爲在android ViewPager只跟蹤上一頁和下一頁。因此,當初始化viewPager時,它會自動創建前2頁,併爲前2個選項卡調用MoviesFragment。一旦你開始滾動,它就開始保持上一頁和下一頁的軌跡。

this

+0

我改變了這種限制爲0,但它仍然相同的行爲 –

+0

@Sahil你可以通過'OnPageChangeListener'處理您的數據庫功能通過定義一個函數,android會一直調用緊接着的下一頁和前一頁。 – hArsh

+0

@sahil你解決了你的問題嗎?如果是,請將此標記爲已接受。謝謝 – hArsh

相關問題