weixin_31119207 2015-11-23 03:54 采纳率: 70%
浏览 2013

为Fragment中的ListView中的ImageView赋值在setAdapter()时报错

public class MyFragment3 extends ListFragment{
private ListView lv;
private Context context;
private List> data;
private Map map;

public MyFragment3(Context context){
    this.context = context;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.mylog,container,false);
    lv = (ListView) view.findViewById(R.id.log_lv);
    return view;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    dataInit();
    SimpleAdapter adapter = new SimpleAdapter(context,data,R.layout.log_item,
            new String[]{"pic"},
            new int[]{R.id.log_pic});

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

    lv.setAdapter(adapter);
}



@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
}

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
}

public void dataInit(){
    InputStream in = getResources().openRawResource(R.drawable.a);
    Bitmap bit = BitmapFactory.decodeStream(in);

    InputStream in1 = getResources().openRawResource(R.drawable.b);
    Bitmap bit1 = BitmapFactory.decodeStream(in1);

    data = new ArrayList<Map<String,Object>>();

    map = new HashMap<String,Object>();
    map.put("pic", bit);
    data.add(map);

    map = new HashMap<String,Object>();
    map.put("pic", bit1);
    data.add(map);
}

}

  • 写回答

1条回答

  • qq_21206775 2015-11-24 02:12
    关注

    oncreate()方法里的代码,可以写在oncreateview里面,有点看不大懂你的代码

    评论

报告相同问题?

悬赏问题

  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 luckysheet
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱