Quindi il mio ExpandableListView
ha raggruppare le righe che sono definiti come:Ottenere contesto PopupMenu come 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>
Quando si fa clic sul TextView
si espanderà o comprimere a seconda che o non sono attualmente visualizzate le righe figlio. Ho allegato uno OnClickListener
allo ImageView
nella riga di gruppo. Quando questo ImageView
si fa clic su lancio di un PopupMenu
come le immagini qui sotto:
Una volta che il PopupMenu
viene visualizzato e una delle azioni viene cliccato, vorrei eseguire un'azione su tutto figli del gruppo. Il problema è che non riesco a determinare la riga in cui è stato fatto clic su ImageView
.
L'unico modo che ho capito come applicare un'azione a tutti i bambini è con un ContextMenu
come l'immagine qui sotto:
Voglio evitare di utilizzare un ContextMenu
perché un LongClick su un gruppo la riga potrebbe non essere ovvia per un utente per capire che potrebbe far comparire alcune azioni da eseguire sulle righe dei bambini. Penso che il design più ovvio sia quello di ancorare un PopupMenu
a un ImageView
(nel mio caso un'icona di menu) e fare in modo che l'azione venga applicata alle righe secondarie di quel gruppo. Come posso ottenere questa funzionalità con un PopupMenu
?
Anche se è passato più di un anno da quando hai postato questo, ho risolto in modo diverso e tenuta mediante l'ContextView, ma se la vista allegato abbinato un determinato ID mi piacerebbe converto a un popup. http://stackoverflow.com/questions/12407722/how-to-cancel-the-creation-of-a-context-menu-after-oncreatecontextmenu-has-bee/24014727#24014727 Controlla la mia risposta qui se sei interessato. (E fammi sapere se sono un idiota) –