Also meine ExpandableListView
hat Gruppenzeilen, die wie definiert sind:Erhalten Zusammenhang mit PopupMenu wie ContextMenu
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>
Wenn Sie auf den TextView
klicken, wird es erweitern oder verkleinern, je nachdem, ob oder nicht die untergeordneten Zeilen werden derzeit angezeigt. Ich habe eine OnClickListener
an die ImageView
in der Gruppe Zeile angehängt. Wenn diese ImageView
geklickt wird ich eine PopupMenu
wie die Bilder starten unter:
Sobald die PopupMenu
angezeigt wird und eine der Aktionen angeklickt wird, würde Ich mag eine Aktion für alle ausführen Kinder der Gruppe. Das Problem ist, dass ich die Zeile nicht bestimmen kann, in der der ImageView
geklickt wurde.
Die einzige Art, wie ich herausgefunden haben, wie man eine Aktion für alle Kinder gelten soll mit einem ContextMenu
wie das Bild unten:
Ich möchte auf eine Gruppe ein ContextMenu
weil ein LongClick zu vermeiden, mit Die Zeile ist möglicherweise für einen Benutzer nicht offensichtlich, um herauszufinden, dass einige Aktionen für die untergeordneten Zeilen ausgeführt werden. Ich denke, das offensichtliche Design besteht darin, eine PopupMenu
an eine ImageView
(in meinem Fall ein Menüsymbol) zu verankern und die Aktion auf die untergeordneten Zeilen dieser Gruppe anzuwenden. Wie kann ich diese Funktionalität mit einer PopupMenu
bekommen?
Auch wenn es mehr als ein Jahr her, seit du das geschrieben, löste ich das anders und hielt die contextView verwenden, aber wenn die angeschlossene Ansicht, die eine bestimmte ID abgestimmt ich es umwandeln würde zu einem Popup. http://stackoverflow.com/questions/12407722/how-to-cancel-the-creation-of-a-context-menu-after-oncreatecontextmenu-has-bee/24014727#24014727 Überprüfen Sie meine Antwort hier, wenn Sie bin interessiert. (Und lassen Sie mich wissen, wenn ich ein Idiot bin) –