viewPagerは、キャッシュされたフラグメントを削除します

プログラムを終了しない限り、メモリにキャッシュ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を。
    } 


}

 

おすすめ

転載: www.cnblogs.com/Ocean123123/p/11209682.html