2012-02-23 12 views
0

私はsdcardに格納されている画像の2つの異なるパスを取っています。私は両方の画像をgridview.Canで表示したいのですか?主な問題は、整数型のarraylistを使用していて、私は画像を見ることができますが、私は画像を表示する方法よりも画像のパスを持っている文字列型のarraylistを使用しています。 私はまた、どこを変えようとラインにコメントしました、助けてくださいね??arraylistからimagepathを取得する方法とgridviewで表示するには?

public class ImageAdapter extends BaseAdapter 
    { 
     private Context mContext; 

     public ImageAdapter(Context c) 
     { 
      mContext = c;  
     } 

     public int getCount() { 
     return mThumbIds.length; 
    } 

    public Object getItem(int position) { 
     return null; 
    } 

    public long getItemId(int position) { 
     return 0; 
    } 

    // create a new ImageView for each item referenced by the Adapter 

    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView; 
     if (convertView == null) { // if it's not recycled, initialize some attributes 
      imageView = new ImageView(mContext); 
      imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(8, 8, 8, 8); 
     } else { 
      imageView = (ImageView) convertView; 
     } 

//here i am getting problem tell me how to use path of image in arraylist 

    imageView.setImageResource(mThumbIds[position]); 
     return imageView; 
    } 

    // references to our images  
ArrayList<String> mThumbIds=new ArrayList<String>; 
mThumbIds.add("/mnt/sdcard/a.jpg"); 
mThumbIds.add("/mnt/sdcard/b.jpg"); 

答えて

1

setImageResource()で画像パスを直接設定することはできません。代わりに試してみてください:

Bitmap myBitmap = BitmapFactory.decodeFile(mThumbIds[position]); 
imageview.setImageBitmap(myBitmap); 
関連する問題