我已经设置了一个应用程序,其中ViewPager
包含FragmentPagerAdapter
. 但是,我想ActionBar
根据主要片段更新标题。这是一些代码,来自FragmentAdapter
:
public void setPrimaryItem(ViewGroup container, int pos, Object object) {
this.cur = pos;
getItem(pos).onPrimary(pos);
}
来自Activity
:
public void setTitle(int pos, String title) {
if (pos == this.fa.cur) { // this.fa is the FragmentAdapter
super.setTitle(title);
}
}
从我Fragment
的一个:
public void onPrimary(int pos) {
this.pos = pos;
if (this.activity != null && this.title != null)
this.activity.setTitle(pos, this.title);
}
private void setTitle(String title) {
this.title = title;
if (this.activity != null && this.title != null)
this.activity.setTitle(this.pos, title);
}
虽然这似乎在干净启动后有效,但在某些情况下它开始下降;尤其是当碎片被摧毁然后被重建时,似乎。有没有人对此有更好/更清洁/更简单的解决方案?