动态更新FragmentPagerAdapter pageTitle

时间:2015-09-16 11:08:51

标签: android

所以我有一个班级

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

    @覆盖 public int getItemPosition(Object object){     return POSITION_NONE; }

但没有任何对我有用。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我使用过这个,对我来说效果很好:

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

由于