setImageBitmap dans une customListView
Bonjour à tous !
J'ai un petit soucis (encore une fois ! :mouarf:). J'ai crée une customlistview :
Code:
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" /> |
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, ...
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 :
Code:
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() {
...
}); |
Voilà comment je récupère le thumbnail qui est défini dans list_item.xml :
Code:
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:
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> |