無限スクロールで限定的なFragment
+を作成する方法はありますか?ViewPager
例えば :
10 を作成しますFragment
。5 番目にスクロールするとFragment
、インデックス番号 0 のフラグメントが破壊され、11 番目に表示されますFragment
**1** 2 3 4 5 6 7 8 9 10
5番目にスクロールした後
2 3 4 **5** 6 7 8 9 10 11
変数
private static final int NUM_PAGES = 10;
これが私のFragment adapter
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return PageFragment.create(position);
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
Fragment
番号 1 から始まる表示の内容を次に示します。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.fragment_view, container, false);
((TextView) rootView.findViewById(R.id.tvUsername)).setText(
""+ (mPageNumber + 1));
return rootView;
}
選択したイベントが発生したとき
mPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int pageSelected) {
// TODO Auto-generated method stub
Log.d(TAG, "selected = " + pageSelected);
if (pageSelected > (NUM_PAGES - 6)) {
//Event do it here?
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
質問: イベントの作成方法を教えてください。
position
の値を変更することでできると思いますgetItem()
。しかし、私はそれを行う方法がわかりません