当在片段更改的ActionBar,称为活动我显示这样的总线线路的列表中:使用片段
然后,一旦用户点击“站”,我喜欢显示当然的电台列表。 我使用这个代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_long_distance);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.f_long_distance, new LongDistanceFragment()).commit();
}
@SuppressWarnings({"UnusedDeclaration"})
public void showStationList(View view) {
String tag = (String) view.getTag();
if (tag != null && tag.length() > 0) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
StationListFragment fragment = new StationListFragment(tag.split(","));
ft.add(R.id.f_long_distance, fragment);
// ft.replace(R.id.f_long_distance, fragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
}
}
的XML这项活动是:
<LinearLayout
android:id="@+id/ll_container"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<FrameLayout
android:id="@+id/f_long_distance"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
StationListFragment是一个简单的ListFragment在另一个的顶部显示:
虽然是ActionBar,但它现在正确地包含标题只要。
什么不行,如果我现在按回。站列表是隐藏的,但旧的动作条未恢复:
该文档是说添加的动作条的方式是使用onCreateOptionsMenu方法等
所以,在LongDistanceFragment(第一个显示),我创建这样的吧:
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Log.d(TAG, "onViewCreated");
super.onViewCreated(view, savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
ActionBar bar = getSupportActivity().getSupportActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
bar.setListNavigationCallbacks(new SimpleSpinnerArrayAdapter(getActivity()), this);
}
但不知何故它不会恢复,一旦用户回到该片段。
我想回滚Fragment Transaction时需要恢复ActionBar状态的一种方法。
我错过了什么?谢谢你的帮助。
我现在也在为此而战。这是一个相关的问题。 http://stackoverflow.com/questions/6503189/fragments-onresume-from-back-stack –