プログラムを終了しない限り、メモリにキャッシュviewpagerフラグメント結合フラグメントは、あなたがキャッシュを削除する必要があり、プログラムの断片が状況下でページを更新して終了する必要はありません。
パブリック クラス MainActivityは延びAppCompatActivity { ViewPagerAdapter2 viewPagerAdapter2と、 ViewPager viewPager; @Override 保護された ボイドのonCreate(@NullableバンドルsavedInstanceState){ スーパー.onCreate(savedInstanceState)。 setContentView(R.layout.activity_main)。 S3 = 1 。 viewPager = findViewById(R.id.viewPager)。 viewPagerAdapter2 = 新しいViewPagerAdapter2(getSupportFragmentManager()); viewPager.setAdapter(viewPagerAdapter2)。 findViewById(R.id.button).setOnClickListener(新しいView.OnClickListener(){ @Override 公共 のボイドのonClick(ビューV){ System.out.printlnは( "点击" ); FragmentTransactionトランザクション = 。getSupportFragmentManager()のbeginTransaction(); リスト <断片>断片= getSupportFragmentManager()getFragments(); 場合(断片!= NULL ){ ため(フラグメントchildFragment:断片){ transaction.remove(childFragment); } transaction.commit(); } viewPagerAdapter2 = 新しいViewPagerAdapter2(getSupportFragmentManager()); viewPager.setAdapter(viewPagerAdapter2)。 viewPagerAdapter2.notifyDataSetChanged(); } })。 } }
パブリック クラス ViewPagerAdapter2は延びFragmentPagerAdapter { 公共ViewPagerAdapter2(FragmentManagerのFM){ スーパー(FM)を、 } @Override 公共フラグメントのgetItem(int型位置){ System.out.printlnは( + "输出項目" 位置)。 スイッチ(位置){ ケース 0 : 戻り 新しいBlankFragmentを(); ケース 1 : 返す 新しいBlankFragment2を(); } リターン はnull; } @Override 公共 INT 同様にgetCount(){ 戻りArray.lengthと。 } @Override パブリックたCharSequence getPageTitle(int型位置){ 戻り配列[位置]。 } 公共 INT getItemPosition(Objectオブジェクト){ // TODO自動生成方法スタブ のSystem.out.println( "返回位置" )。 返すPagerAdapter.POSITION_NONEを。 } }