gpt4 book ai didi

android - 如何在不更改 MainActivity 标题的情况下更改 fragment 的标题?

转载 作者:行者123 更新时间:2023-11-29 01:16:36 25 4
gpt4 key购买 nike

我希望在每个 Fragment 中调整 ActionBar 的标题。例如,如果我选择选项“Lists”(即 Fragment),则 ActionBar 的标题必须是“Lists”。

我可以使用以下代码来完成:

getActivity().setTitle("Lists");

但是当我返回 MainActivity(使用菜单选项或手机上的后退按钮)时,它会保留标题“Lists”而不是默认标题“My application”。

如果我尝试在 MainActivity 上设置标题:

setTitle("My application");

它没有改变。

如何维护 MainActivity 的标题并修改每个 Fragments 中的标题?

提前致谢!

最佳答案

在输入 Fragment 并修改其中 ActionBar 的标题后,我终于能够修改您的 MainActivity 的标题。我需要用两个不同的事件来改变它:当我点击应用程序的菜单时,当我按下手机的后退按钮时。我会将我的回答分为两部分,每个部分对应一个事件:

- 当您按下手机上的后退按钮时,在 MainActivity 上更改标题

您需要在 MainActivity.class 上使用 onBackPressed() 方法检测事件,然后使用 setTitle 方法更改标题你的 ActionBar

@Override
public void onBackPressed() {
setTitle("Lists");
}

- 当您按下菜单中的“主页”选项时更改 MainActivity 的标题。

在您的 onNavigationItemSelected 方法中,您可以检测到何时按下选项“Home”,然后启动一个新的 Fragment(我们称之为 MainFragment ) 它会返回一个空布局,因此如果您位于另一个 Fragment 中,例如 AnotherFragment(带有另一个 ActionBar 标题),然后您按下“Home "选项,您可以使用以下代码再次将 MainActivity 的标题设置为 MainFragment 中的默认标题:

getActivity().setTitle("Lists");

通过这种方式,您将能够更改 MainActivity 的标题以保持其布局。

关于android - 如何在不更改 MainActivity 标题的情况下更改 fragment 的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39101426/

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