Bonjour,

J'ai utilisé ce tuto : http://androidcodesnips.blogspot.fr/...able-list.html pour faire une expandable listview de plusieurs niveaux, comme ceci :

First Group
-- Sub Group
--- Child 1
--- Child 2
--- Child 3

Mon problème c'est que je voudrait mettre un context menu sur les Childs de dernier niveaux (child 1, child 2, child 3)

Et que si je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
registerForContextMenu(explvlist);
(dans la classe Home du tuto, je ne remet pas tous le code, c'est tout pareil)

Avec

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
@Override
    public boolean onContextItemSelected(MenuItem item) {
 
        ExpandableListView.ExpandableListContextMenuInfo info =
                (ExpandableListView.ExpandableListContextMenuInfo) item.getMenuInfo();
 
        int groupPos = 0, childPos = 0;
        int type = ExpandableListView.getPackedPositionType(info.packedPosition);
 
        if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
            groupPos = ExpandableListView.getPackedPositionGroup(info.packedPosition);
            childPos = ExpandableListView.getPackedPositionChild(info.packedPosition);
        }
 
        return super.onContextItemSelected(item);
    }
 
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
 
        ExpandableListView.ExpandableListContextMenuInfo info =
                (ExpandableListView.ExpandableListContextMenuInfo) menuInfo;
        int type = ExpandableListView.getPackedPositionType(info.packedPosition);
 
        int groupPosition = ExpandableListView.getPackedPositionGroup(info.packedPosition);
        int childPosition = ExpandableListView.getPackedPositionChild(info.packedPosition);
 
        if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD){
                MenuInflater inflater = getActivity().getMenuInflater();
                inflater.inflate(R.menu.contextual_alertes, menu);
        }
 
    }
Et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
R.menu.contextual_alertes
 
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/consulter"
        android:title="@string/consulter" />
    <item android:id="@+id/actualiser"
        android:title="@string/actualiser"/>
    <item android:id="@+id/partager"
        android:title="@string/partager"/>
</menu>
J'ai "Consulter/Actualiser/Partager" sur les "Sub groups" et "Consulter/Actualiser/Partager/Consulter/Actualiser/Partager" sur les Childs de dernier niveaux (child 1, child 2 et child 3) comment faire pour que ce context menu ne soit que sur les childs de dernier niveaux... il me faudrait un "PACKED_POSITION_TYPE_CHILD_CHILD"

J'espère avoir été clair

Merci