Bonjour à tous !
J'ai un petit soucis (encore une fois ! ). J'ai crée une customlistview :
Alors Premièrement, je n'arrive pas à faire un changement de couleur lorsque l'objet est pressé, j'ai tout essayé ce que j'ai trouvé sur le net, entre autre list_selector, ...
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 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:padding="5dp" > <!-- Thumbnail Image à gauche --> <LinearLayout android:id="@+id/thumbnails" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" > <ImageView android:id="@+id/thumbnail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:paddingRight="5dp" android:src="@drawable/thumb" /> </LinearLayout> <!-- Localité --> <TextView android:id="@+id/Lieu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/thumbnails" android:layout_toRightOf="@+id/thumbnails" android:textColor="#000000" android:textSize="22dp" android:typeface="normal" />
Et deuxièmement, je souhaiterai attribuer à chaque objet un thumbnail propre à lui. Je crois que j'ai tout essayé ce qui me passait par la tête, mais j'arrive pas à avoir de résultat :p
Voilà le code de mon Main pour la création de la liste :
Voilà comment je récupère le thumbnail qui est défini dans list_item.xml :
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 public View getView(int position, View convertView, ViewGroup parent) { View view = getView(position, convertView, parent); int color1 = 0xaaCECECE; int color2 = 0xaa2F67FF; if(position % 2 == 0) view.setBackgroundColor(color1); else view.setBackgroundColor(color2); return view; } public class SpecialAdapter extends SimpleAdapter { //private int[] colors = new int[] { 0x30CECECE, 0x30FFFFFF }; public SpecialAdapter(Context context, List<HashMap<String, String>> items, int resource, String[] from, int[] to) { super(context, items, resource, from, to); } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); int color1 = 0xaaCECECE; int color2 = 0xaaFFFFFF; if(position % 2 == 0) view.setBackgroundColor(color1); else view.setBackgroundColor(color2); Id = ((TextView) view.findViewById(R.id.Id)).getText().toString(); System.out.println("id = " + Id); File filethumb = new File("/mnt/sdcard/360ViewerApp/Immo" + Id + "/Thumbnail/"); System.out.println("filethumb = " + filethumb); ListDirectory(filethumb, fileThumb); System.out.println("Thumnail = " + fileThumb.get(0)); Bitmap thumb = BitmapFactory.decodeFile(fileThumb.get(0)); System.out.println("ImageView = " + thumbnail); thumbnail.setImageBitmap(thumb); view.setOnClickListener(new OnClickListener() { ... });
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 LayoutInflater factory = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View imageViewThumbnail = factory.inflate(R.layout.list_item, null); thumbnail = (ImageView)imageViewThumbnail.findViewById(R.id.thumbnail);
Et la définition de ma liste dans le main.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:cacheColorHint="@android:color/white" android:divider="@android:drawable/screen_background_light" android:visibility="visible" android:listSelector="@android:color/black"> </ListView>
Partager