私は異なる機能を果たす16の断片を持っています。私はFragment1、Fragment16、Fragment2、Fragment16、Fragment3、Fragment16などのようなシリーズの断片をロードしたい。毎回Fragment16を繰り返します。 Fragment16には30個のチェックボックスがあり、次のフラグメントに入る前に毎回チェックされます。私のコードスニペットは以下の通りです。毎秒条件付きでスワイプします
public class MainActivity extends AppCompatActivity {
private MyPagerAdapter mSectionsPagerAdapter;
private ViewPager mViewPager;
TinyDB tinydb;
ArrayList<Model> mList;
ArrayList<Model> CheckList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tinydb = new TinyDB(this);
mList = retrieveModel();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mSectionsPagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), this);
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
}
}
アダプタは次のとおりです。
public class MyPagerAdapter extends FragmentPagerAdapter {
private Context context;
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
switch (position) {
case 0:
fragment = new Fragment1();
break;
case 1:
fragment = new Fragment1A();
break;
case 2:
fragment = new Fragment2();
break;
case 3:
fragment = new Fragment1A();
break;
case 4:
fragment = new Fragment3();
break;
case 5:
fragment = new Fragment1A();
break;
case 6:
fragment = new Fragment4();
break;
case 7:
fragment = new Fragment1A();
break;
case 8:
fragment = new Fragment5();
break;
case 9:
fragment = new Fragment1A();
break;
case 10:
fragment = new Fragment6();
break;
case 11:
fragment = new Fragment1A();
break;
case 12:
fragment = new Fragment7();
break;
case 13:
fragment = new Fragment1A();
break;
case 14:
fragment = new Fragment8();
break;
case 15:
fragment = new Fragment1A();
break;
case 16:
fragment = new Fragment9();
break;
case 17:
fragment = new Fragment1A();
break;
case 18:
fragment = new Fragment10();
break;
case 19:
fragment = new Fragment1A();
break;
case 20:
fragment = new Fragment11();
break;
case 21:
fragment = new Fragment1A();
break;
case 22:
fragment = new Fragment12();
break;
case 23:
fragment = new Fragment1A();
break;
case 24:
fragment = new Fragment13();
break;
case 25:
fragment = new Fragment1A();
break;
case 26:
fragment = new Fragment14();
break;
case 27:
fragment = new Fragment1A();
break;
case 28:
fragment = new Fragment15();
break;
case 29:
fragment = new Fragment1A();
break;
}
return fragment;
}
Fragment1が
public class Fragment1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_images, container, false);
ImageView img = view.findViewById(R.id.section_label);
img.setImageResource(R.mipmap.one);
return view;
}
}
あるので、質問は何ですか?あなたの問題は何ですか? – just
ここでは、フラグメント16の代わりにダイアログを使用してみませんか? –
すべてのチェックボックスがチェックされていないと条件付きでチェックできますが、次のフラグメントに移動しないでください。この条件は、16番目のフラグメントがロードされるたびに検査されます。 – Beginner