ViewPager, iki Fragman ve iki sekmeyi gösteren ActionBar içeren bir sherlockfragmentactivity kullanıyorum. Ben fragmandan eylemleri öğeleri doldurmak ama fragman ekranı İşlem Çubuğu Menuıtem daha amacıyla yönteminiActionItem ekran rotasyonunda kayıp
setHasOptionsMenu(true);
aramak zorunda. Ancak ekran yönü değiştiğinde, MenuItems görüntülenmez.
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);
}
düzgün bir SherlockFragment dan işlem çubuğuna öğe eklemek için bir yolu var mı ve nasıl ben sonra İşlem Çubuğu bu öğeyi tutabilir: Burada
ilk fragmanda bir seçenek menü oluşturmak için benim kodudur ekran yönünü değiştirmek? manifeast dosyaya FragmentActivity çizgiyi takip
En iyi çözüm olup olmadığını bilmiyorum, ancak bilinen bir sabit parça sayısına sahip olduğumdan, onları SherlockActivitesimde "onCreate" yönteminde örneklendirir ve instanciation'dan sonra çağrıda bulunur: invalidateOptionsMenu(); benim parçalarımın “EtkinliğiÇoklu” yöntemi, orada yapmam gerekenden sonra “setHasOptionsMenu” (true); Bu nedenle benim ActionItems'im ekran yöneliminden sonra bile her parça için görüntülenir. – Kowlown