在listview.in eclipse中的图像视图中显示图像

时间:2015-10-13 05:59:32

标签: android eclipse

我正在尝试将图像视图中的图像显示为列表视图。

listItems.add(Login.uname+":"+editText.getText().toString()+"wahii" + iv);

iv是我的图片视图。

现在问题是它没有显示image.instead它显示像 “bitmapdrawable @ 417dadc0”

是否可以做???

3 个答案:

答案 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;
        }
    }