この例を使用して FragmentStatePagerAdapter を使用しています。
MyAdapter クラスは次のように実装されます。
public static class MyAdapter extends FragmentStatePagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public Fragment getItem(int position) {
return ArrayListFragment.newInstance(position);
}
}
ListFragment クラスには、新しいインスタンスを作成する次のメソッドが含まれています。
/**
* Create a new instance of CountingFragment, providing "num"
* as an argument.
*/
static ArrayListFragment newInstance(int num) {
ArrayListFragment f = new ArrayListFragment();
// Supply num input as an argument.
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}
アクティビティで新しいフラグメント状態ページャー アダプターを作成すると、getItem
が呼び出さnewInstance
れ、ListFragment クラスのメソッドが呼び出されます。これは、新しいフラグメントを作成したいときに最適です。
しかし、フラグメントオブジェクトが既に存在する場合にフラグメントオブジェクトを取得し、たとえばページ 2 からページ 1 へのユーザーページgetItem
を取得するために (必要な場合でも)変更する方法は明確ではありません。フラグメント クラスに存在する内部クラスを実行できるようにフラグメントを作成しました。AsyncMethod