2010-06-29 7 views
0

D'accord, cela peut être simple mais je ne sais pas comment le faire! J'ai mon menu défini par XML, comme indiqué ci-dessous. Ça charge et tout.Obtenir les clics sur les menus

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/home" 
      android:title="Home" /> 
    <item android:id="@+id/about" 
      android:title="About" /> 
    <item android:id="@+id/quit" 
      android:title="Quit" /> 
</menu> 

Maintenant, en passant par onOptionsItemSelected(), comment puis-je dire quel élément de menu est sélectionné?

Ceci est tiré d'un exemple ... Quel serait le cas?

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case 1: 
     Toast.makeText(this, "Home", Toast.LENGTH_LONG).show(); 
     return true; 
    case 2: 
     Toast.makeText(this, "About", Toast.LENGTH_LONG).show(); 
     return true; 
    case 3: 
     Toast.makeText(this, "Quit", Toast.LENGTH_LONG).show(); 
     return true; 
    } 
    return false; 
} 

Répondre

1

Vos déclarations de cas devraient utiliser les identifiants définis dans votre xml:

case R.id.home: 
    .... 
case R.id.about: 
    .... 
case R.id.quit: 
    .... 
default: 
    throw new IllegalStateException("oops, forgot to code something"); 

le cas par défaut est une bonne pratique IMHO. :)

+0

Oui, merci beaucoup! – Chiggins

Questions connexes