1

FragmentPagerAdapter通過項目嚮導FragmentPagerAdapter沒有改變片段內容

公共類SectionsPagerAdapter擴展FragmentPagerAdapter {

public SectionsPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     Fragment fragment = new ChapterPageFragment(); 
     if (currentPart != null) { 
      Bundle args = new Bundle(); 
      Chapter chapter = currentPart.getChapters().get(position); 
      if (chapter.getVerses() == null) { 
       chapter.setVerses(currentDao.readVerses(currentPart, chapter)); 
      } 
      args.putParcelable(Chapter.KEY, currentPart.getChapters().get(position)); 
      fragment.setArguments(args); 
     } 
     return fragment; 
    } 

    @Override 
    public int getCount() { 
     if (currentPart == null) { 
      return 0; // Before Initialzing 
     } 
     return currentPart.getChapterCount(); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return getString(R.string.chapter_format, position+1); 
    } 
} 

當數據變化

actionListView.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       currentPart = currentBook.getParts().get(position); 
       viewPager.getAdapter().notifyDataSetChanged(); 
       slideMenu.showContent(); 
      } 
     }); 

瀏覽頁數改變,但頁面(片段)內容沒有改變。

例如,

選擇A部分,第3頁: 「A1」, 「A2」, 「A3」

然後選擇部分B,5頁:「A1」, 「A2」, 「A3」, 「B4」, 「B5」 (不是 「B1」, 「B2」, 「B3」, 「B4」, 「B5」)

如何更改頁面內容A到B?

回答

0

您應該使用FragmentStatePagerAdapter而不是FragmentPagerAdapter,它會解決您的問題。

相關問題