a179583637 2016-06-23 02:59 采纳率: 0%
浏览 1539
已采纳

重写SimpleAdapter以让其中的imageview显示bitmap,怎么解决

下面是我重写simpleadapter的代码,其主要作用是显示返回的bitmap图片,求大神看看哪里不对
if (msg.arg1 == 0X456) {
listItems= (List>) msg.obj;
// 创建一个SimpleAdapter实现界面的更新
SimpleAdapter simpleAdapter = new SimpleAdapter(getActivity(), listItems, R.layout.news_simple_item,
new String[]{"image", "title", "abs"},
new int[]{R.id.image, R.id.title, R.id.abs});
simpleAdapter.setViewBinder(new SimpleAdapter.ViewBinder(){

                @Override
                public boolean setViewValue(View view, Object data,
                                            String textRepresentation) {
                    if( (view instanceof ImageView) & (data instanceof Bitmap) ) {
                        ImageView iv = (ImageView) view;
                        Bitmap bm = (Bitmap) data;
                        iv.setImageBitmap(bm);
                        return true;
                    }
                    return false;

                }
  • 写回答

3条回答 默认 最新

  • 大白大白大白 2016-06-25 00:00
    关注
    public class MyPopWindowAdapter extends BaseAdapter {
    
        private Context mContext;
        private List<String> mList;
    
        public MyPopWindowAdapter(Context context , List<String> list ) {
            this.mContext = context;
            this.mList = list;
        }
    
        public void setmList(List<String> mList,int index) {
            this.mList = mList;
        }
    
        @Override
        public int getCount() {
            return mList.size();
        }
    
        @Override
        public Object getItem(int position) {
            return mList.get(position);
        }
    
        @Override
        public long getItemId(int position) {
            return position;
        }
    
        @SuppressLint({ "ResourceAsColor", "InflateParams" })
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder mViewHolder;
            if (convertView == null ) {
                convertView = LayoutInflater.from(mContext).inflate(R.layout.popspinner_popwindow_list_item, null);
                mViewHolder = new ViewHolder();
                mViewHolder.mTextView = (TextView) convertView.findViewById(R.id.popwindow_list_item_tv);
                convertView.setTag(mViewHolder);
            }else {
                mViewHolder = (ViewHolder) convertView.getTag();
            }
            mViewHolder.mTextView.setText(mList.get(position));
            //在这里给Imageview加载bitmap就ok了
            return convertView;
        }
        private class ViewHolder {
            private TextView mTextView;
        }
    }
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部