2012-02-23 53 views
0

我已经采取了两种不同的路径图像存储在sdcard.I想要在gridview中显示这两个图像。你可以帮我吗?主要问题是,如果我使用整数类型arraylist并给出的ID图像比我可以看到的图像,但如果我使用字符串类型的ArrayList具有图像路径比如何显示图像。 我还评论过哪些地方要更换,请帮帮我?如何从arraylist中检索图像路径并在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); 
相关问题