ViewPager가있는 sherlockfragmentactivity, 두 개의 Fragment 및 두 개의 탭이 표시된 ActionBar를 사용합니다. 나는 조각에서 작업 항목을 채울하지만 난 조각을 표시 실행 바 MenuItem에 비해 위하여 방법을화면 회전시 ActionItem이 손실되었습니다.
setHasOptionsMenu(true);
를 호출해야합니다. 그러나 화면 방향이 변경되면 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에서 작업 표시 줄에 항목을 추가하는 방법이 어떻게 난 후 액션 바에서이 항목을 유지할 수 있습니다 : 여기
내 첫 조각에서 옵션 메뉴를 만드는 내 코드입니다 화면 방향 변경? manifeast 파일에 FragmentActivity 라인을 다음
만약 이것이 가장 좋은 해결책인지 모르겠지만, 알려진 고정 숫자의 조각을 가지고 있기 때문에, 나는 그것들을'SherlockActivity '의'onCreate' 메소드에서 인스턴스화하고 인스턴스 생성 후에 호출합니다 :'invalidateOptionsMenu();'그런 다음 내 조각의'onActivityCreated' 메소드는,'setHasOptionsMenu (true); '를 호출해야만합니다. 따라서 화면 방향을 지정해도 각 조각에 대한 내 ActionItem이 표시됩니다. – Kowlown