2015-09-16 22 views
-1

所以我有一個類更新FragmentPagerAdapter PAGETITLE動態

public class TabPagerAdapter extends android.support.v4.app.FragmentPagerAdapter { 

    @Override 
    public void notifyDataSetChanged() { 
     super.notifyDataSetChanged(); 
     Log.i("debug", "notifyDataSetChanged tabpager"); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     Log.i("debug", "getPageTitle tabpager"); 
     // ... 
    } 
} 

這裏是適配器的使用:

mViewPager = (ViewPager) findViewById(R.id.viewpager); 
    pagerAdapter = new TabPagerAdapter(getSupportFragmentManager(), this); 
    mViewPager.setAdapter(pagerAdapter); 

現在,當我想要動態(所以getPageTitle()更新片段的標題應該再次調用)我試過這個pagerAdapter.notifyDataSetChanged();,這被標記爲類似問題的答案。但這裏沒有任何反應。第一次記錄被打印,getPageTitle不會再被調用。

我試過很多其他的事情,這其中其他答案建議,如:

  • mViewPager.destroyDrawingCache();
  • 改寫FragmentPagerAdapter::getItemPosition

    @覆蓋 公衆詮釋getItemPosition(Object對象){ 回報POSITION_NONE ; }

但沒有爲我工作。

有什麼想法?

+0

爲什麼downvote?如果您正在降低我的問題並添加一些建設性的反饋,請添加評論... – Chris

回答

0

我已經使用這個和它的工作很適合我:

mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { 
       @Override 
       public void onPageSelected(int position) { 
        // getActionBar().setTitle("title from your list"); 
       } 
      }); 

感謝