El elemento del menú de la barra de acción de Android con actionLayout no funciona correctamente
Hola estoy desarrollando una aplicación para Android. En mi aplicación estoy usando la acción Sherlock. He definido algunos elementos de menú en la barra de acción, de la siguiente manera.
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/card_menu"
android:actionLayout="@layout/action_button"
android:showAsAction="always"
android:title="cards">
<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:actionLayout="@layout/notification_icon"
android:icon="@drawable/notification"
android:showAsAction="always"
android:title="Notifications"/>
<item
android:id="@+id/filter"
android:icon="@drawable/filter"
android:showAsAction="always"
android:title="Filter"/>
</menu>
y Mi action_button se ve como:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/menu_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/spinner_ab_focused_maroon"/>
<TextView
android:id="@+id/menu_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imageView0"
android:text="C1"/>
</RelativeLayout>
Ahora todo se muestra, pero mi problema es que cuando hago clic encard_menu item
donde defino los submenús y también defino la disposición de la acción. No está mostrando esos submenús. Mis otros elementos del menú están funcionando correctamente. Solo cuando defino el diseño de acción para mi elemento que contiene submenús que no puedo mostrar en el submenú. Si elimino el diseño de acción funciona bien.
Sé que si definimos el diseño de acción para el elemento, entonces tenemos que manejar manualmente el escucha de clics. Lo hice de la siguiente manera
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();
}
});
Puedo manejar el evento de clic para ese elemento pero no puedo mostrar los elementos del submenú desplegable.
¿Cómo resuelvo este problema?