2016-04-21 62 views
-1

我想显示一个图像阵列作为位图ListView,有人可以帮助我吗?Android Studio:如何将ImageBitmap转换为ImageId?

这里是我的CustomList.java

public class CustomList extends ArrayAdapter<String>{ 

private final Activity context; 
private final String[] web; 
private final Integer[] imageId; 
public CustomList(Activity context, String[] web, Integer[] imageId) { 
    super(context, R.layout.mylist, web); 
    this.context = context; 
    this.web = web; 
    this.imageId = imageId; 

} 
@Override 
public View getView(int position, View view, ViewGroup parent) { 
    LayoutInflater inflater = context.getLayoutInflater(); 
    View rowView= inflater.inflate(R.layout.mylist, null, true); 
    TextView txtTitle = (TextView) rowView.findViewById(R.id.txt); 

    ImageView imageView = (ImageView) rowView.findViewById(R.id.img); 
    txtTitle.setText(web[position]); 
    imageView.setImageResource(imageId[position]); 
    return rowView; 
} 

}

,这里是从mainActivity.java

一些代码
ListView list; 
ImageView image; 
String[] web = { 
     "Google Plus", 
     "Twitter", 
     "Windows", 
     "Bing", 
     "Itunes", 
     "Wordpress", 
     "Drupal" 
} ; 
Integer[] imageId = { 
     R.drawable.image1, 
     R.drawable.image2, 
     R.drawable.image3, 
     R.drawable.image4, 
     R.drawable.image5, 
     R.drawable.image6, 
     R.drawable.image7 

}; 

CustomList adapter = new CustomList(this, web, imageId); 
     list=(ListView)findViewById(R.id.list); 
     list.setAdapter(adapter); 

我所有的图片都是以位图的类型,我想对那些置于imageId数组上以显示在自定义ListView上

+1

imageView.setImageBitmap()?你将不得不解释一下你的问题 – Nanoc

+0

@Nanoc我已经粘贴了相关代码。 – ERJ

回答

0

使用INT []阵列代替整数[]阵列,

int[] imageId = { 
     R.drawable.image1, 
     R.drawable.image2, 
     R.drawable.image3, 
     R.drawable.image4, 
     R.drawable.image5, 
     R.drawable.image6, 
     R.drawable.image7 

也作出相应的变化你CustomList.java文件

+0

如何实现ImageBitmap而不是绘制?您需要从自定义位置显示 – ERJ

+0

。对? –

+0

Bitmap image = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); imageView.setImageBitmap(image); –

相关问题