なぜそれがputInt
をバンドルする必要があるのか知りたいのですが。私は他のタブにスワイプすると、私のフラグメントが再作成されたのか、最後に使われたのでしょうか?空のコンストラクタがこれで使用されたのはなぜですか?フラグメント作成について
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0 : return fragment_zg.newInstance(position + 1);
case 1: return fragment_Uni.newInstance(position+1);
default: return fragment_zg.newInstance(position + 1);
}
}
そしてここでは、私のやり方ので、フラグメントは、Androidシステムで再現されているFragment
public class fragment_Uni extends Fragment {
private static final String ARG_SECTION_NUMBER = "section_number";
public fragment_Uni() {}
public static fragment_Uni newInstance(int sectionNumber) {
fragment_Uni uni_fragment = new fragment_Uni();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
uni_fragment.setArguments(args);
return uni_fragment;
}
}
あなたが求めているのはどちらですか? –
申し訳ありませんが、バンドルargs = new Bundle(); args.putInt(ARG_SECTION_NUMBER、sectionNumber);uni_fragment.setArguments(args); – Zayar
あなたがそうしないと引数を使う必要はありません。デバイスの向きを変更するには、空の/空のコンストラクタをフラグメントマネージャに1つ用意する必要があります。あなたがオリエンテーションを変えたかどうかは関係ありません。 –