当第一个片段打开时,我把它放在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());
但当我点击后退按钮并打开旧的片段标题时,它保持不变。我不知道当碎片从背后拉出时会触发哪种方法。
我试过Resume和Start,但什么都没发生
@Override
public void onResume() {
getActivity().setTitle("fgfdhgfdjhj");
super.onResume();
}
将setTitle
方法移动到onActivityCreated()
。
在第一个片段public static String header;
和header = "Guests" + hotel + "" + "(" + count + ")";
中
在第二片段中
@Override
public void onDestroy() {
getActivity().setTitle(GuestsList.header);
super.onDestroy();
}
我不知道它是如何正确的,但它是有效的。如果有人知道更好的解决方案,请写