2011-01-14 11 views
7

Jak zaimplementować onMenuItemClickListener?Jak zaimplementować naMenuItemClickListener w Androidzie

@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; 
} 

Chcę, aby back_item raz kliknął, aby wywołać funkcję na stronie, jak to zrobić?

+0

Zreformuj swoje pytanie, nie ma sposobu, aby Twoje obecne źródło się skompilowało. – fiction

Odpowiedz

9

Zakładam, że chcesz uzyskać dostęp do funkcji niestatycznej w swojej aktywności. Bez zbyt wielu informacji od Ciebie, spróbuj coś takiego, co poniżej:

@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

Po prostu to, co potrzebne, dzięki – Beginner

4

Oto sposób mogę to zrobić, jeśli mam zamiar nadmuchać dania xml.

raz pierwszy nadmuchać menu kiedy to się nazywa:

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

Następnie czekać na prasę i sprawdzić, który został naciśnięty ID:

@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); 
    } 
} 

nadzieję, że to pomaga!

1
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() 

zmiana kodu zawierać MenuItem po nowe.

Powiązane problemy