gpt4 book ai didi

android - 当 Fragment 再次可见时设置标题

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:13 25 4
gpt4 key购买 nike

我有 FragmentA 和 FragmentB,当 FragmentA 恢复可见时设置我的 Activity 的标题时遇到问题。

  1. FragmentA 可见(未添加到后台)
  2. 添加FragmentB(添加到backstack)
  3. 按下后退按钮,不是默认实现,但需要在 Fragment 中捕获它,但我这样做 getActivity().getSupportFragmentManager().popBackStack();

现在当 FragmentA 重新可见时,必须再次更改 Activity 的标题比如,FragmentA 标题 =“A”,FragmentB 标题 =“B”。但是当 FragmentA 重新可见时,标题仍然是“B”,因为在 FragmentA 中没有调用 onResume。在可见的 FragmentA 中始终将标题设置为“A”的选项有哪些。

代码:

fragment A

@Override
public void onResume() {
super.onResume();
getActivity().setTitle("POI's");
}

fragment B

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
...
getActivity().setTitle("POI");
...
}

最佳答案

我在一个包含两个 fragment 的 Activity 上进行了测试,效果很好。请参见下面的代码。

fragment A:显示应用名称

@Override
public void onResume() {
super.onResume();
getActivity().setTitle(R.string.app_name);
}

Fragment B:显示应用名称

@Override
public void onResume() {
super.onResume();
getActivity().setTitle("fragment B");
}

fragment A到B交易代码:

getActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.container,new FragmentB())
.addToBackStack(null)
.commit();

更新:需要替换像“replace(R.id.container,new FragmentB())”这样的 fragment ,而不是将其添加到 FragmentManager 来更改 Activity 的标题。

关于android - 当 Fragment 再次可见时设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25639927/

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