我正在尝试将图像视图中的图像显示为列表视图。
listItems.add(Login.uname+":"+editText.getText().toString()+"wahii" + iv);
iv是我的图片视图。
现在问题是它没有显示image.instead它显示像 “bitmapdrawable @ 417dadc0”
是否可以做???
答案 0 :(得分:0)
如果要将图像添加到列表视图中,或者想要并排添加文本和图像,则最佳选择是使用自定义适配器并为每行设置自己的布局。谷歌或溢出以了解更多。
答案 1 :(得分:0)
使用以下内容从ImageView
检索您的图片:
Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
图片是您的ImageView
,并将此Bitmap
传递到任何需要的地方
答案 2 :(得分:0)
以下是我的数组适配器的示例供我参考,我做了同样的事情,这是我认为你需要的
public class FamilyArrayAdapter extends ArrayAdapter<ShortProfileBean> {
private LayoutInflater inflater;
private List<ShortProfileBean> data;
private Context context;
public FamilyArrayAdapter(Context context, int resource,
List<ShortProfileBean> data) {
super(context, resource, data);
inflater= LayoutInflater.from(context);
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
//if it's not create convertView yet create new one and consume it
if(convertView == null){
convertView = inflater.inflate(R.layout.familylistview, null);
//get new ViewHolder
holder =new ViewHolder();
//get all item in ListView item to corresponding fields in our ViewHolder class
holder.image=(ImageView) convertView.findViewById(R.id.imageViewRelPic);
holder.name =(TextView) convertView.findViewById(R.id.textViewRelName);
holder.relation =(TextView) convertView.findViewById(R.id.textViewRelation);
//set tag of convertView to the holder
convertView.setTag(holder);
}
//if it's exist convertView then consume it
else {
holder =(ViewHolder) convertView.getTag();
}
loadImageFromAsset(holder.image, data.get(position).picture);
holder.name.setText(data.get(position).name);
holder.relation.setText(data.get(position).relation);
//return ListView item
return convertView;
}
/*
* To load image from assets folder
* param im : ImageView
* param imageName: Name of your image with extension
*
*/
public void loadImageFromAsset(ImageView im , String imageName){
// load image
try {
// get input stream
InputStream ims = context.getAssets().open(imageName);
// load image as Drawable
Drawable d = Drawable.createFromStream(ims, null);
// set image to ImageView
im.setImageDrawable(d);
}
catch(IOException ex) {
return;
}
}
//ViewHolder class that hold over ListView Item
static class ViewHolder{
ImageView image;
TextView name;
TextView relation;
}
}