2013-05-05 56 views
0

我已經編寫了此類,它擴展了FragmentStatePagerAdapter以便在視圖之間滑動。現在我需要使滑動列表循環顯示,以便在最後一個片段後面滑動顯示第一個片段。我還沒有找到正確的方法,有什麼幫助?如何在FragmentStatePagerAdapter中循環(從最後一個片段到第一個)

這裏的適配器代碼:

public class DetailsPagerAdapter extends FragmentStatePagerAdapter { 

List<Detail> details=null; 

public DetailsPagerAdapter(FragmentManager supportFragmentManager, List<Detail> details) { 
    super(supportFragmentManager); 
    this.details=details; 
} 

@Override 
public Fragment getItem(int i) { 
    System.out.println("Fetching item at position "+i); 
    Fragment fragment = new DetailsFragment(); 

    Bundle args = new Bundle(); 
    args.putString("img",details.get(i).getImageFileName()); 
    args.putString("desc",details.get(i).getDescription()); 
    fragment.setArguments(args); 
    return fragment; 
} 

public int getCount() { 
    return details.size(); 
} 

}

+0

看一看['InfiniteViewPager'(HTTPS:/ /github.com/antonyt/InfiniteViewPager),這應該是做你以後的事情。 – 2013-05-05 19:08:00

回答

1
在適配器

,嘗試類似的東西

 @Override 
     public Fragment getItem(int pos) { 
      pos = pos % details.size(); 
      .... 
     } 

     @Override 
     public int getCount() { 
      return 99999; 
     } 
+0

我不確定這樣的事會起作用。我試着玩第一個操作數,但正如預期的那樣,getCount()會返回[0,details-size() - 1]範圍內的值,這將縮短我的對象集合並僅顯示我想要顯示的片段的子集。 – wallen 2013-05-05 19:10:43

+0

請稍候,生病了我的答案,我暈了,當我寫這個答案:) – 2013-05-06 08:37:29

+0

檢查我的答案 – 2013-05-06 10:05:46

相關問題