所以我ExpandableListView
的组行定义如下:
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>
当您单击TextView
它时,它将根据当前是否显示子行来展开或折叠。我已将一个附加OnClickListener
到ImageView
组行中。单击此ImageView
按钮后,我将启动PopupMenu
如下图所示:
显示并单击其中PopupMenu
一项操作后,我想对该组的所有子项执行一项操作。问题是我无法确定ImageView
单击的行。
我想出如何对所有孩子应用动作的唯一方法是ContextMenu
如下图所示:
我想避免使用 aContextMenu
因为组行上的 LongClick 对于用户来说可能并不明显,因为它会带来一些要在子行上执行的操作。我认为更明显的设计是将 a 锚定PopupMenu
到一个ImageView
(在我的情况下是一个菜单图标)并将操作应用于该组的子行。我怎样才能得到这个功能PopupMenu
?