Sonntag, Dezember 15, 2019

Auf die Implementierung einer onMenuItemClickListener in android

Wie implementiere ich eine onMenuItemClickListener?

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

Möchte ich die back_item einmal angeklickt, um eine Funktion aufzurufen, die innerhalb der Seite, wie mache ich es?

  • Formatieren Sie Ihre Frage, gibt es keine Möglichkeit, dass Ihre aktuelle Quelle kompiliert wird.
InformationsquelleAutor Beginner | 2011-01-14

3 Kommentare

  1. 11

    Ich nehme an, Sie möchten den Zugriff auf eine nicht-statische Funktion in Ihrer Aktivität. Ohne zu viel Informationen von Ihnen, versuchen, etwas wie das, was unten ist:

        @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;
    }
    • Genau das, was ich brauchte, vielen Dank
  2. 5

    Hier ist die Art, wie ich es tun, wenn ich dabei bin, zum aufblasen eine xml Menü.

    Ich das erste aufblasen der Speisekarte, wenn es heißt:

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

    Dann warten drücken und überprüfen, welche ID wurde gedrückt:

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

    Hoffe, das hilft!

  3. 1
    item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener()

    ändern Sie den code zum einbinden MenuItem nach neuen.

Kostenlose Online-Tests

Ihre Entwicklerrolle