打开,我在ActionBar中放入标题
getActivity().setTitle("Guests" + hotel + "" + "(" + count + ")");
如果这件作品另外打开,我把一个新的标题和片段放在后台并隐藏
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
FragmentTransaction fTrans = getFragmentManager().beginTransaction();
Fragment guestFragment = new Guest();
fTrans.hide(this);
fTrans.add(R.id.content_frame, guestFragment, "guest");
fTrans.addToBackStack(null);
fTrans.commit();
}
在新片段中正确展示标题
getActivity().setTitle(guests.get(0).getName());
但是当我单击后退按钮并打开时,旧的片段标题保持不变。我不知道当片段从后台堆栈拉出时触发了哪种方法。
我试过onResume,onStart但没有任何反应
@Override
public void onResume() {
getActivity().setTitle("fgfdhgfdjhj");
super.onResume();
}
答案 0 :(得分:0)
将setTitle
方法移至onActivityCreated()
。
答案 1 :(得分:0)
public static String header;
和header = "Guests" + hotel + "" + "(" + count + ")";
中的第二个片段中的
@Override
public void onDestroy() {
getActivity().setTitle(GuestsList.header);
super.onDestroy();
}
我不知道它是怎么回事但是有效。如果有人知道更好的解决方案,请写下