【发布时间】:2015-04-10 09:20:44
【问题描述】:
当应用程序启动时,我有一个带有两个片段的应用程序,Actionbar 标题是第一个片段之一。但是当我进入第二个片段时,标题并没有改变。
那么如何更改 ActionBar 的标题?
这是我的代码:
public class ClientList extends Fragment {
@Override
public void onResume() {
super.onResume();
String title;
title = getResources().getString(R.string.client_title);
ActionBarActivity action = ((EmployeeActivity)getActivity());
action.getSupportActionBar().setTitle(title);
}
@Override
public void onDestroyView() {
super.onDestroyView();
String title2;
title2 = getResources().getString(R.string.action_settings);
ActionBarActivity action = ((EmployeeActivity)getActivity());
action.getSupportActionBar().setTitle(title2);
}
}
【问题讨论】:
-
getActivity().setTitle(title)?你应该把你的onDestroyView()逻辑放在super.onDestroyView()之前,销毁序列应该与创建序列相反。另外我认为您应该更改新片段中的新标题,而不是在当前片段被销毁时更改,如果您只是将其隐藏或放入后堆栈,则可能不会发生这种情况。 -
你想改两次还是什么?刚刚创建片段时,您是否尝试在
onCreateView中更改它? -
@Yurets 我想在每次在片段之间切换时更改标题。我试过 onCreateView 但我得到一个无法访问的语句错误
标签: android android-fragments android-actionbar