ich mit einem meiner ActionBar MenuBar wie dieseonOptionsItemSelected nicht genannt wurden, wenn benutzerdefinierte Aktion Ansicht
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.loop_thread, menu);
ImageView iv = (ImageView)(getLayoutInflater().inflate(R.layout.image_container, null));
menu.findItem(R.id.action_filter).setActionView(iv);
...
eine benutzerdefinierte Ansicht gesetzt, aber wenn ich diesen Menüpunkt in meiner App tippen, wird onOptionsItemSelected()
nicht aufgerufen. (Ich habe dies überprüft, indem ich einen Breakpoint am Anfang der Methode gesetzt habe). Wenn ich auf die anderen Schaltflächen tippe, wird in der Aktionsleiste onOptionsItemSelected() aufgerufen.
hier ist der XML-Code fo rmy benutzerdefinierte Ansicht:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ibtnFilterMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/darker_gray"
android:src="@drawable/btn_action_down_arrow"
style = "@android:style/Widget.ActionButton"/>
ich auch die Aktion Ansicht Einstellung im Menü XML-Datei versucht haben:
<item android:id="@+id/action_filter"
android:title="@string/filter_options"
android:actionLayout="@layout/image_container"
android:orderInCategory="100"
android:showAsAction="ifRoom" />
Hinweis: Ich weiß, dass ich machen kann das Bild anklickbar, und manuell ein onClickListener für es, aber aus Gründen des Lernens, möchte ich auf den Grund davon zu kommen.
Und wie sieht Ihre 'onOptionsSetelected()' Methode aus? – Sajmon
ist es egal, ich habe einen Breakpoint am Anfang der Methode gesetzt, und es wird überhaupt nicht aufgerufen. – Siavash
Haben Sie versucht, die 'setActionView'-Methode, die Ressourcen-ID anstelle der Ansicht akzeptiert, manuell aufzublasen? –