[英]Update FragmentPagerAdapter pageTitle dynamically
So I have a class所以我有一堂课
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");
// ...
}
}
And here is the usage of the adapter:这是适配器的用法:
mViewPager = (ViewPager) findViewById(R.id.viewpager);
pagerAdapter = new TabPagerAdapter(getSupportFragmentManager(), this);
mViewPager.setAdapter(pagerAdapter);
Now when I want to update the title of the fragments dynamically (so getPageTitle()
should be called again) I tried this pagerAdapter.notifyDataSetChanged();
现在,当我想动态更新片段的标题时(因此应该再次调用
getPageTitle()
),我尝试了这个pagerAdapter.notifyDataSetChanged();
, which was marked as an answer in similiar questions. ,在类似问题中被标记为答案。 But nothing happens here.
但这里什么也没有发生。 The first logging is printed, getPageTitle is not called again.
打印第一个日志记录,不会再次调用 getPageTitle。
I tried many other things, which where advised in other answers, like:我尝试了许多其他事情,在其他答案中建议,例如:
mViewPager.destroyDrawingCache();
Overwriting FragmentPagerAdapter::getItemPosition
覆盖
FragmentPagerAdapter::getItemPosition
@Override public int getItemPosition(Object object) { return POSITION_NONE; @Override public int getItemPosition(Object object) { return POSITION_NONE; }
}
but nothing worked for me.但没有什么对我有用。
Any idea?任何的想法?
I have used this one and it worked well for me :我用过这个,对我来说效果很好:
mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// getActionBar().setTitle("title from your list");
}
});
Thanks谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.