id

2014-11-12 31 views
5

tarafından Menuıtem almak için nasıl res/menü/student_marks.xml dosyası üzerinde benim menuitem var .

Bu yöntemde belirli bir öğeye çalışabilirsiniz:
id

onOptionsItemSelected(MenuItem item) 

sorun ben bu yöntemin olmadan ama benim programın başka bir yerinde 'action_selected_year' öğesini ihtiyaç olmasıdır.
Nasıl elde edeceğimi bilmiyorum.

cevap

7
Menu optionsMenu; 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu); 
     // store the menu to var when creating options menu 
     optionsMenu = menu; 
    } 

örnek: İlk Menuıtem üzerinde değişiklik simgesi (! Optionsmenu olmalıdır = null)

optionsMenu.getItem(0).setIcon(getResources() 
    .getDrawable(R.drawable.ic_action_green)); 
+0

Mükemmel, başvuru kurtarmak Aktivite değişkeninin içindeki menüden bana, menü nesnesi üzerinde mükemmel bir kontrol sağlar. Teşekkür ederim. –

+3

Bu, menü öğesini ID ile almaz. Bu sadece ilk menü öğesini döndürür. – AndroidDev

+3

findItem() öğesini arayabilir ve getItem (0) öğesini aramak yerine, aradığınız kimliği iletebilirsiniz. –

1
Menu optionsMenu; 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    // store the menu to var when creating options menu 
    optionsMenu = menu; 
} 

Ve bir menü öğesi almak için:

MenuItem item = optionsMenu.findItem(R.id. action_selected_year);