Получить контекст PopupMenu, как ContextMenu
Так что мой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
как изображение ниже:
Я хочу избежать использованияContextMenu
потому что LongClick для групповой строки не может быть очевидным для пользователя, чтобы выяснить, что это вызовет некоторые действия для выполнения над дочерними строками. Я думаю, что более очевидный дизайн - этоPopupMenu
чтобыImageView
(в моем случае значок меню) и действие должно быть применено к дочерним строкам этой группы. Как я могу получить эту функциональность сPopupMenu
?