Obtener contexto de PopupMenu como ContextMenu
Así que miExpandableListView
tiene filas de grupo que se definen como:
group_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/GroupName"
style="@style/ListViewRowStyle"
android:paddingLeft="40dp"
android:textSize="18sp" >
</TextView>
<ImageView
android:id="@+id/Menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="10dp"
android:contentDescription="@string/default_content_description_text"
android:src="@drawable/ic_menu_moreoverflow_normal_holo_light" >
</ImageView>
</RelativeLayout>
Cuando haces clic en elTextView
se expandirá o colapsará dependiendo de si las filas secundarias se muestran o no actualmente. He adjuntado unOnClickListener
alImageView
en la fila del grupo. Cuando estoImageView
se hace clic en lanzar unPopupMenu
como las imágenes de abajo:
Una vez elPopupMenu
aparece y se hace clic en una de las acciones, me gustaría realizar una acción en todos los hijos del grupo. El problema es que no puedo determinar la fila en la queImageView
Se hizo clic.
La única forma en que he descubierto cómo aplicar una acción a todos los niños es con unaContextMenu
como la imagen de abajo:
Quiero evitar usar unContextMenu
porque un LongClick en una fila de grupo puede no ser obvio para un usuario para darse cuenta de que generaría algunas acciones para realizar en las filas secundarias. Creo que el diseño más obvio es anclar unPopupMenu
a unaImageView
(en mi caso, un icono de menú) y hacer que la acción se aplique a las filas secundarias de ese grupo. ¿Cómo puedo obtener esta funcionalidad con unPopupMenu
?