gpt4 book ai didi

android - setTitle 在 fragment 中不起作用

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

我有一个 fragment ,我在其中尝试更改操作栏的标题。这一直有效,直到我将 setHasOptionsMenu(true) 添加到 fragment 中。我该如何解决这个问题?因为我需要 fragment 中的 optionsmenu

fragment 中

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
((MainActivity)getActivity()).setActionBarTitle(getString(R.string.title_view_tree));
setHasOptionsMenu(true);
return inflater.inflate(R.layout.fragment_view_tree, container, false);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_view_tree,menu);
super.onCreateOptionsMenu(menu,inflater);

}

在主 Activity 中:

public void setActionBarTitle(String title) {
getSupportActionBar().setTitle(title);
}

当我使用 // 禁用 setHasOptionsMenu(true) 时,actionbar 的标题会正确更改。

最佳答案

从 Fragment 的 onCreateOptionMenu 调用 setActionBarTitle。

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_main4, menu);

((MainActivity)getActivity()).setActionBarTitle(getString(R.string.title_view_tree));
super.onCreateOptionsMenu(menu, inflater);
}

我建议使用回调接口(interface)与 Activity 进行交互。

关于android - setTitle 在 fragment 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36461022/

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