簡體   English   中英

查看傳呼機的不同結果

[英]View pager different results

我在我的應用程序的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創建實例。 case 2 現在,在第二個選項卡中,當我對數據庫進行更改並嘗試將它們添加到第三個選項卡中時,更改不會反映出來,因為當選擇第二個選項third tab時,它已經創建了third tab實例。 我該如何解決這個問題?

@Sahil這是因為在android中, ViewPager僅跟蹤上一頁和下一頁。 因此,當您初始化viewPager時,它將自動創建前2頁,並為第1個2個標簽頁調用MoviesFragment 一旦開始滾動瀏覽,它就會開始僅跟蹤上一頁和下一頁。

這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM