2015-09-16 80 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"); 
       } 
      }); 

感谢