bonjour,
dans mon application Android j'ai rencontré un petit problème :
j'utilise un FrameLayout comme item dans une ListView pour caché un petit menu ( un LinearLayout avec 3 bouton) et l'afficher au clic sur l'item dans la meme positon.
alors le problème est la , quand je modifier la Visibilité du menu ça marche, mais il s'affiche dans la 1er position de la liste même si je clique sur la dernière ou le dernier item !!!
quand on clic sur chaque item je fais ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
LinearLayout layout =(LinearLayout) findViewById(R.id.menu);    
 
        	    layout.setVisibility(View.VISIBLE);
ici je récupère le menu directement, je pense que c'est la le problème !

voici le fichier item
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
 
<LinearLayout
    android:id="@+id/item"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
 
    <ImageView
		android:id="@+id/img"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
	   	android:layout_gravity="center_vertical"
	   	android:padding="10px"
		/>
 
	<LinearLayout 
	    android:orientation="vertical"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	   	android:layout_gravity="center_vertical"
	   	android:paddingLeft="10px"
	    android:layout_weight="1"
	    >
 
	    <TextView android:id="@+id/titre"
	         android:layout_width="fill_parent"
	         android:layout_height="fill_parent"
	         android:textSize="16px"
	         android:textStyle="bold"
	         />
 
	    <TextView android:id="@+id/description"
	         android:layout_width="fill_parent"
	         android:layout_height="fill_parent"
	         />
 
    </LinearLayout>
 
</LinearLayout>
 
<LinearLayout
    android:id="@+id/menu"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:orientation="horizontal"
    android:visibility="invisible" >
    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />
 
    <Button
        android:id="@+id/button2"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />
 
    <Button
        android:id="@+id/button3"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />
 
</LinearLayout>
 
</FrameLayout>
et la j'ajoute mes items a la listview

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
36
37
38
 map = new HashMap<String, String>();
        map.put("titre", "Excel");
        map.put("description", "Tableur");
        map.put("img", String.valueOf(R.drawable.ic_launcher));
        listItem.add(map);
 
        map = new HashMap<String, String>();
        map.put("titre", "Power Point");
        map.put("description", "Logiciel de présentation");
        map.put("img", String.valueOf(R.drawable.ic_launcher));
        listItem.add(map);
 
        map = new HashMap<String, String>();
        map.put("titre", "Outlook");
        map.put("description", "Client de courrier électronique");
        map.put("img", String.valueOf(R.drawable.ic_launcher));
        listItem.add(map);
SimpleAdapter mSchedule = new SimpleAdapter (this.getBaseContext(), listItem, R.layout.item,
               new String[] {"img", "titre", "description"}, new int[] {R.id.img, R.id.titre, R.id.description});
 
        //On attribut à notre listView l'adapter que l'on vient de créer
        maListViewPerso.setAdapter(mSchedule);
 
        //Enfin on met un écouteur d'évènement sur notre listView
 
 
        maListViewPerso.setOnItemClickListener(new OnItemClickListener() {
			@Override
        	@SuppressWarnings("unchecked")
         	public void onItemClick(AdapterView<?> a, View v, int position, long id) {
 
 
        		LinearLayout layout =(LinearLayout) findViewById(R.id.menu);    
 
        	    layout.setVisibility(View.VISIBLE);
        	}
         });
	}