Arkaplan Android 3.0 için DevelopingMenü Parçası ve Etkinlik hiyerarşisi nedeniyle sıralama farklılıkları. (OnCreateOptionsMenu)
, ben NotebooksActivity
ve NoteActivity
üst sınıfı olan bir HostActivity
var. NotebooksActivity
, bir parça içerir, NotebooksFragment
.
HostActivity
yılında ben İşlem Çubuğu seçenekler menüsünün en sağdaki sonunda görünmesini istediğiniz bir menü içerecek, HostActivity
sınıfının alt içinde yani tüm menü öğeleri HostActivity
eklenen menü öğeleri solunda görünmelidir. HostActivity
yılında
Menü enflasyonu: Ancak
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.notebook_menu, menu);
return super.onCreateOptionsMenu(menu);
}
: Ben NoteActivity
menü öğelerini eklediğinizde
@Override
public boolean onCreateOptionsMenu(Menu menu) {
final MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.host_menu, menu);
return super.onCreateOptionsMenu(menu);
}
Sorun
, ben beklendiği gibi istenen sırayı elde Fragment'lerden dolayı, NotebooksFragment
numaralı menü öğelerini eklediğimde , 'da aynı yöntemden sonra onCreateOptionsMenu
denen, HostActivity
'un NotebooksFragment
' den önce görünen menü öğeleri.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.notebooks_menu, menu);
SearchView sv = new SearchView(getActivity());
sv.setOnQueryTextListener(this);
menu.findItem(R.id.search_notebooks).setActionView(sv);
super.onCreateOptionsMenu(menu, inflater);
}
nasıl arzu menü sipariş elde edebilirsiniz?
onPrepareOptionsMenu() yöntemini denedim ve işe yaradı. Xoom'umda iki nedenden dolayı çağrılıyordu, ancak yinelenmeleri önlemek için biraz fazladan kod eklemek zorunda kaldım. –
'android: menuCategory' ve 'android: orderInCategory' kullanarak bu sorunu çözdüm. Parça menü öğelerini kodla eklemeyi denedim, ancak işe yaramadı, bu yüzden bir XML menüsü kullanmak zorunda kaldım :( –
Benim için etkinlik öğeleri için 'android: menuCategory = "ikincil" yi eklemek yeterliydi mehunun sonunda görünmesi gereken ekstra bir emir niteliği gerekli değildi. – sven