Hallo Ich entwickle eine Android-Anwendung. In meiner Anwendung verwende ich ActionBarSherlock. I definierte einige Menüpunkte in der Aktionsleiste auf folgende Weise:Aktionsleiste Untermenü funktioniert nicht mit actionLayout
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/card_menu"
android:title="cards"
android:showAsAction="always"
android:actionLayout="@layout/action_button"
>
<menu>
<item android:id="@+id/C1"
android:title="C1" />
<item android:id="@+id/C2"
android:title="c2" />
<item android:id="@+id/C3"
android:title="C3" />
</menu>
</item>
<item android:id="@+id/notification"
android:title="Notifications"
android:showAsAction="always"
android:actionLayout="@layout/notification_icon"
android:icon="@drawable/notification"
/>
<item android:id="@+id/filter"
android:icon="@drawable/filter"
android:title="Filter"
android:showAsAction="always"
/>
Nun, alles sehr gut dargestellt, aber mein Problem ist, dass, wenn ich auf einem card_menu Elemente klicken, wo ich Unter definieren Menüs und definieren auch ein Aktionslayout; Es zeigt diese Untermenüs nicht an.
Meine anderen Menüpunkte funktionieren ordnungsgemäß. Nur wenn ich ein Aktionslayout für mein Objekt definiere, das zu diesem Zeitpunkt Untermenüs enthält, kann ich das Untermenü nicht anzeigen.
Wenn ich das Aktionslayout entferne, dann funktioniert es gut ...
Ich weiß, wenn wir ein Aktionslayout für ein Element definieren, dann müssen wir den Klicklistener manuell behandeln. Das habe ich die folgende Art und Weise:
final MenuItem item = menu.findItem(R.id.card_menu);
item.getActionView().setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onOptionsItemSelected(item);
Toast.makeText(getActivity(), "click on menu", Toast.LENGTH_SHORT).show();
}
});
Ich bin in der Lage das Click-Ereignis für dieses Element zu handhaben, aber nicht in der Lage Dropdown-Untermenüpunkte zu zeigen ..
Wie dieses Problem zu lösen? Wie kann ich meine Untermenüs öffnen?
Sie brauchen Hilfe .... Danke ...