gpt4 book ai didi

java - 无法更改嵌套 fragment 中的 ActionBar 标题

转载 作者:行者123 更新时间:2023-12-01 10:10:59 24 4
gpt4 key购买 nike

有一个 fragment ,它的 xml 标记包含 ViewPager。在此 fragment 内,需要通过滑动在其他 fragment 中实现导航。

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 的标题没有改变?

谢谢!

最佳答案

您可以使用以下命令更新 fragment 中的 Activity 标题:

((AppCompatActivity)getActivity()).getSupportActionBar().setTitle("My custom title");

关于java - 无法更改嵌套 fragment 中的 ActionBar 标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36117994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com