当应用程序启动时,我有一个带有两个片段的应用程序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);
}
}
答案 0 :(得分:1)
您可以将onCreate(如果活动)/ onCreateView(如果片段)方法中的操作栏标题设置为getSupportActionBar().setTitle("Your Title");
答案 1 :(得分:0)
所以如果你说你无法从onCreateView
找到方法,那么我认为这是你的解决方案:
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.my_fragment,
container, false);
getActivity().setTitle("Title");
return view;
}
因为如果您在致电return
之前setTitle()
无法联系到它,那就是真的。
希望它有所帮助。
答案 2 :(得分:0)
这应该有效:
getActivity().setTitle(YOUR_TITLE);
当你想要设置时,从你的片段中调用它。
答案 3 :(得分:0)
每当您从一个片段切换到另一个片段时,您可以在ActionBar中设置标题。这可以在片段的onCreateView(...)上完成。建议尝试更改您尝试加载片段的Activity中的名称。 这样做....
如果您使用的是appcompat库
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(" your title ");
如果您不使用appcompat库
ActionBar actionBar = getActionBar();
actionBar.setTitle(" your title ")
;