![](/img/trans.png)
[英]How to change the ActionBar title from the fragment class in Android Studio?
[英]Can't change ActionBar title in a nested fragment
有一个片段,它的xml标记包含ViewPager
。 在此片段中,有必要通过滑动在其他片段中实现导航。
public class MainFragment extends Fragment {
private View view;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.main_fragment, null);
ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewPager);
viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));
return view;
}
public class MyAdapter extends FragmentStatePagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
switch (position) {
case 0:
fragment = new Fragment1();
break;
case 1:
fragment = new Fragment2();
break;
}
return fragment;
}
}
}
一切正常。 问题是Fragment1
无法使用setTitle()
方法设置自己的标题: 标题保持不变 。
public class Fragment1 extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment1, null);
getActivity().setTitle("Fragment 1");
return view;
}
}
出了什么问题,为什么当我调用setTitle()
时包含MainFragment
的父Activity的标题没有改变?
谢谢!
您可以使用以下方法从片段中更新活动标题:
((AppCompatActivity)getActivity()).getSupportActionBar().setTitle("My custom title");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.