所以我有一个班级
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; }
但没有任何对我有用。
有什么想法吗?
答案 0 :(得分:0)
我使用过这个,对我来说效果很好:
mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// getActionBar().setTitle("title from your list");
}
});
由于