2013-04-28 91 views
1

我正在處理電子商務應用程序,我需要從數據庫中顯示產品列表-a產品=一個ImageView和一些textViews-,但是當我提取來自數據庫的數據,除了imageView以外,它們可以正常工作,它顯示了與源佈局相同的圖像。無法更改我的列表視圖中的圖像源

這是我的適配器中的getView()方法。

public View getView(int position, View convertView, ViewGroup parent) { 

    ViewHolder holder; 
    if (convertView==null) 
    { 
     holder=new ViewHolder(); 
     convertView = inflater.inflate(R.layout.lesproduits, null); 
     holder.nomduProduit = (TextView)convertView.findViewById(R.id.nomProduit); 
     holder.prixDuProduit = (TextView)convertView.findViewById(R.id.prixProduit); 
     holder.imageDuProduit = (ImageView)convertView.findViewById(R.id.imageProduit); 
     convertView.setTag(holder); 
    } 

    else 
    { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    Bitmap bitmapImage = BitmapFactory.decodeFile(path+File.separator+lesProduits.get(position).getImage()); 
    Drawable drawableImage = new BitmapDrawable(bitmapImage); 
    System.out.println(path+File.separator+lesProduits.get(position).getImage()); 

    holder.imageDuProduit.setBackgroundDrawable(drawableImage); 
    holder.nomduProduit.setText(lesProduits.get(position).getNomDuProduit()); 
    holder.prixDuProduit.setText(lesProduits.get(position).getPrixDuProduit()); 
    return convertView; 
} 

以下是源佈局:

<?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"> 

<ImageView 
    android:id="@+id/imageProduit" 
    android:layout_width="100dp" 
    android:layout_height="50dp" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="30dp" 
    android:layout_marginTop="5dp" 
    android:src="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/nomProduit" 
    android:layout_marginTop="5dp" 
    android:layout_width="170dp" 
    android:layout_height="30dp" 
    android:layout_toRightOf="@+id/imageProduit" 
    android:text="Smart phone" 
    android:textSize="25sp" /> 

<TextView 
    android:id="@+id/prixProduit" 
    android:layout_width="100dp" 
    android:layout_height="30dp" 
    android:layout_alignLeft="@+id/nomProduit" 
    android:layout_below="@+id/nomProduit" 
    android:layout_marginTop="5dp" 
    android:text="Large Text" 
    android:textSize="15sp" /> 

</RelativeLayout> 

回答

0

你正在改變的背景下,沒有前景。 ImageView具有前後圖像。

,而不是這個

holder.imageDuProduit.setBackgroundDrawable(drawableImage); 

使用本

holder.imageDuProduit.setImageDrawable(drawableImage); 
+0

是的,就是這樣,現在一切工作正常謝謝。 – 2013-04-28 14:14:43