簡體   English   中英

viewPager中的ListFragment在某些頁面中不顯示數據,並且在某些頁面中運行良好

[英]ListFragment inside viewPager does not display data in some pages and works well in some pages

我有一個ListFragment可以從互聯網上獲取json數據並顯示在listView中,然后在viewPager中重用此片段。它加載數據並在前兩頁中顯示,但仍在第三頁中加載。之間不起作用。我不明白的是,我在所有頁面上使用相同的片段,但在某些頁面中不起作用。我通過創建newInstance並傳遞URL來從中獲取數據來重用相同的片段。觀眾不知所措,所以我想這已經足夠了。在獲取和顯示ListFragments中的列表時是否應該遵循任何規則?我做錯了什么嗎?

我的適配器:

public class FragmentPageAdapter extends FragmentPagerAdapter {

    public FragmentPageAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position)
        {
            case 0:
                Log.d("Adapter","Case 0 called");
                return new LisViewFragment2();

            case 1:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=al-jazeera-english&sortBy=top&apiKey=my_key");

            case 2:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=associated-press&sortBy=top&apiKey=my_key");

            case 3:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=my_key");

            case 4:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=cnn&sortBy=top&apiKey=my_key");

            case 5:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=google-news&sortBy=top&apiKey=my_key");

            case 6:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=independent&sortBy=top&apiKey=my_key");

            case 7:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=metro&sortBy=top&apiKey=my_key");

            case 8:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=mirror&sortBy=top&apiKey=my_key");

            case 9:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=newsweek&sortBy=top&apiKey=my_key");

            case 10:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=new-york-magazine&sortBy=top&apiKey=my_key");

            case 11:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=reddit-r-all&sortBy=top&apiKey=my_key");

            case 12:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=reuters&sortBy=top&apiKey=my_key");

            case 13:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=the-guardian-uk&sortBy=top&apiKey=my_key");

            case 14:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=the-hindu&sortBy=top&apiKey=my_key");

            case 15:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=the-times-of-india&sortBy=top&apiKey=my_key");

            case 16:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=the-new-york-times&sortBy=top&apiKey=my_key");

            case 17:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=the-telegraph&sortBy=top&apiKey=my_key");

            default:
                return ListViewFragment.newInstance("https://newsapi.org/v1/articles?source=usa-today&sortBy=top&apiKey=my_key");


        }

    }

    @Override
    public int getCount() {
        return 19;
    }


}

覆蓋getItemPosition並返回POSITION_NONE

@Override
public int getItemPosition(Object object) {
    return POSITION_NONE;
}

暫無
暫無

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

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