解决方案 »

  1.   

    你的类不用继承 SimpleAdapter,去继承BaseAdapter。然后你的adapter变量也是用MyAdapter类型。
      

  2.   

    继承BaseAdapter很简单,重载方法就行了,重载getView()的方法差不多是一样的,就像你上边那样写
      

  3.   

    楼上的正解,加上viewholder就更理想了
      

  4.   

    谁能提供一个可以运行的 BaseAdapter 的例子,非常感谢!
      

  5.   

    class JiluAdapter extends BaseAdapter { @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;
    } @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    JiluBean bean = mList.get(position);
    convertView = LayoutInflater.from(INSTANCE).inflate(
    R.layout.jilu_list_item, null); TextView itemText2 = (TextView) convertView
    .findViewById(R.id.itemText2);

    itemText2.setText(bean.getClient());

    if (result.equals("不合格")) {
    tg_result.setRoundColor(0xffF62A15);
    tg_result.setNumSize(UnitUtil.sp2px(INSTANCE, 17));
    }
    if (position % 2 == 1) {
    convertView.setBackgroundColor(0xffE9F8FA);
    }
    return convertView;
    }
    }
      

  6.   

    class JiluAdapter extends BaseAdapter { @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;
    } @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    JiluBean bean = mList.get(position);
    convertView = LayoutInflater.from(INSTANCE).inflate(
    R.layout.jilu_list_item, null); TextView itemText2 = (TextView) convertView
    .findViewById(R.id.itemText2);

    itemText2.setText(bean.getClient());

    if (result.equals("不合格")) {
    tg_result.setRoundColor(0xffF62A15);
    tg_result.setNumSize(UnitUtil.sp2px(INSTANCE, 17));
    }
    if (position % 2 == 1) {
    convertView.setBackgroundColor(0xffE9F8FA);
    }
    return convertView;
    }
    }

    mList 集合在哪进行初始化的,有人是把 List 集合写在 JiluAdapter 的构造方法里,当做构造参数,
    new 的时候初始化,你写在哪?
      

  7.   

    class JiluAdapter extends BaseAdapter { @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;
    } @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    JiluBean bean = mList.get(position);
    convertView = LayoutInflater.from(INSTANCE).inflate(
    R.layout.jilu_list_item, null); TextView itemText2 = (TextView) convertView
    .findViewById(R.id.itemText2);

    itemText2.setText(bean.getClient());

    if (result.equals("不合格")) {
    tg_result.setRoundColor(0xffF62A15);
    tg_result.setNumSize(UnitUtil.sp2px(INSTANCE, 17));
    }
    if (position % 2 == 1) {
    convertView.setBackgroundColor(0xffE9F8FA);
    }
    return convertView;
    }
    }

    mList 集合在哪进行初始化的,有人是把 List 集合写在 JiluAdapter 的构造方法里,当做构造参数,
    new 的时候初始化,你写在哪?从外面传进来的时候初始化就可以了
    BaseAdapter baseAdapter = new BaseAdapter(context,listview);
    传到构造函数里面
      

  8.   

    你这样写的话,我估计条目的颜色会变,但三个条目的颜色一样……如果想要三个条目颜色不一样,可能需要重写ListView
    不知道我的猜测  对不?