Uzyskaj kontekst PopupMenu jak ContextMenu
Więc mojaExpandableListView
ma wiersze grup, które są zdefiniowane tak:
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>
Po kliknięciuTextView
będzie się rozwijać lub zwijać w zależności od tego, czy wiersze potomne są aktualnie wyświetlane. ZałączamOnClickListener
doImageView
w wierszu grupy. Kiedy toImageView
jest kliknięty UruchomięPopupMenu
jak na zdjęciach poniżej:
KiedyśPopupMenu
jest wyświetlane, a jedna z akcji jest kliknięta, chciałbym wykonać akcję na wszystkich dzieciach grupy. Problem polega na tym, że nie mogę określić wiersza, w którymImageView
został kliknięty.
Jedyny sposób, w jaki zorientowałem się, jak zastosować akcję do wszystkich dzieci, toContextMenu
jak na obrazku poniżej:
Chcę uniknąć używania aContextMenu
ponieważ wiersz LongClick w grupie może nie być oczywisty dla użytkownika, aby dowiedzieć się, że wywoła pewne działania do wykonania w wierszach dzieci. Myślę, że bardziej oczywistym projektem jest zakotwiczeniePopupMenu
doImageView
(w moim przypadku jest to ikona menu) i należy zastosować akcję do wierszy dzieci tej grupy. Jak mogę uzyskać tę funkcjonalność za pomocąPopupMenu
?