Я использую sherlockfragmentactivity, у которого есть ViewPager, два фрагмента и панель действий, отображающая две вкладки. Я заполняю элементы действий из фрагмента, но мне нужно вызвать метод
setHasOptionsMenu(true);
для того, чтобы фрагмент отображал ActionI MenuItem.
Но при изменении ориентации экрана элементы меню не отображаются.
Вот мой код для создания меню параметров в моем первом фрагменте:
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.add(R.string.action_refresh).setIcon(R.drawable.ic_menu_refresh)
.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
refresh();
return false;
}
}).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(R.string.action_add_a_file).setIcon(R.drawable.ic_menu_upload)
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(R.string.action_settings).setIcon(android.R.drawable.ic_menu_preferences)
.setIntent(new Intent(getSherlockActivity(), SettingsActivity.class))
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
Есть ли способ правильно добавить элемент на панель действий из SherlockFragment и как я могу сохранить его в ActionBar после изменения ориентации экрана?