2011-01-14 8 views
7

Come implementare un onMenuItemClickListener?Come implementare un onMenuItemClickListener in Android

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 

    getMenuInflater().inflate(R.menu.gameoptions, menu); 
    menu.findItem(R.id.menu_item).setIntent(new Intent(this, QMenuActivity.class)); 
    menu.findItem(R.id.back_item).setOnMenuItemClickListener; 
    return true; 
} 

Voglio che il back_item una volta cliccato per chiamare una funzione all'interno della pagina, come faccio?

+0

Riformatta la tua domanda, non è possibile compilare la tua fonte attuale. – fiction

risposta

9

Suppongo che vogliate accedere a una funzione non statica nella vostra attività. Senza troppe informazioni da voi, provare qualcosa di simile ciò che è al di sotto:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuItem item = menu.findItem(R.id.back_item); 
    item.setOnMenuItemClickListener(new OnMenuItemClickListener() { 

     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      YourActivity.this.someFunctionInYourActivity(); 
      return true; 
     } 
    }); 
    return true; 
} 
+0

Proprio quello di cui avevo bisogno, grazie – Beginner

4

Ecco il modo in cui lo faccio se sto andando a gonfiare un menu xml.

ho gonfiare il menu quando viene chiamato:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.test, menu); 
    return true; 
} 

quindi attendere una pressa e verificare che ID è stato premuto:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
     case R.id.item1: 
      ... code ... 
      return true; 
     case R.id.item2: 
      ... code ... 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

Spero che questo aiuti!

1
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() 

modificare il codice per includere MenuItem dopo il nuovo.

Problemi correlati