android在ListView中使用自己的图像

android在ListView中使用自己的图像,android,listview,adapter,Android,Listview,Adapter,我有10个图形需要显示在我的ListView中 我创建了一个这样的类 public class LayoutAdapterObj { public String addString; public ImageView leftImage; public String backgroundImageName; public LayoutAdapterObj(String addString,ImageView leftImageName,String backgroundImageName

我有10个图形需要显示在我的ListView中

我创建了一个这样的类

public class LayoutAdapterObj {
 public String addString;
 public ImageView leftImage;
 public String backgroundImageName;
 public LayoutAdapterObj(String addString,ImageView leftImageName,String backgroundImageName){
     this.addString = addString;
     this.leftImage = leftImageName;
     this.backgroundImageName = backgroundImageName;
 }
java.lang.IllegalStateException: Could not execute method of the activity

if(leftImage != null)
{
    leftImage= o.leftImage;
}
当我创建LayoutAdaptor对象时

我这样做

    aArray.add(new LayoutAdapterObj("1",new ImageView(null, null, R.drawable.frame1),"R.drawable.layout"));
    aArray.add(new LayoutAdapterObj("2",new ImageView(null, null, R.drawable.frame2),"R.drawable.layout"));
    LayoutListAdapter m_adapter;
    m_adapter = new LayoutListAdapter(this, R.layout.topbarlayout, aArray);
之后。。。。在我的适配器类中,我这样做

        public View getView(int position, View convertView, ViewGroup parent) {
                View v = convertView;
                if (v == null) {
                    LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        v = vi.inflate(R.layout.layout1, null);
                }
                LayoutAdapterObj o = items.get(position);
                if (o != null) {
                        TextView addText = (TextView) v.findViewById(R.id.addtext);                     
                        ImageView leftImage=(ImageView)v.findViewById(R.id.layoutframe);
                        if(!o.backgroundImageName.equals(""))
                        {

                        }
                        if(addText!=null)
                        {
                            addText.setText(o.addString);
                        }
错误的信息是这样的

public class LayoutAdapterObj {
 public String addString;
 public ImageView leftImage;
 public String backgroundImageName;
 public LayoutAdapterObj(String addString,ImageView leftImageName,String backgroundImageName){
     this.addString = addString;
     this.leftImage = leftImageName;
     this.backgroundImageName = backgroundImageName;
 }
java.lang.IllegalStateException: Could not execute method of the activity

if(leftImage != null)
{
    leftImage= o.leftImage;
}
看这个…例子`

   class UserListAdapter extends ArrayAdapter<String> 
    {



        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            int temp;
            if(SharedVariables.is_traffic_search_ON_flag){
                temp=search_cases_trafficTicketsList.size();
            }else{
                temp=search_cases_criminalTicketsList.size();
            }
            return temp;
        }

        Activity context;

        public UserListAdapter(Activity context) {
            super(context, 0);

            Log.d("hh","sgbdfjfdgfk");

            this.context = context;
        }

         class ViewHolder {

             RelativeLayout rl2;
             ImageView genderimage;
             TextView ticketcounttt;
             TextView name;
             TextView city;
             TextView added_date;
        }

        @SuppressWarnings("unused")
        public View getView(final int position, View convertView, ViewGroup parent){//here we inflating the layout "R.layout.cars_row"
            ViewHolder holder;
            View rowView = convertView;
            if (rowView == null) {

                LayoutInflater inflater = context.getLayoutInflater();

                if(SharedVariables.is_traffic_search_ON_flag)rowView = inflater.inflate(R.layout.traffic_row, null, true);
                else rowView = inflater.inflate(R.layout.criminal_row, null, true);

                holder = new ViewHolder();


                holder.rl2=(RelativeLayout) rowView.findViewById(R.id.rl2); 

                try{
                holder.genderimage=(ImageView) rowView.findViewById(R.id.genderimage);
                }catch (Exception e) {
                    e.printStackTrace();
                    // TODO: handle exception
                }
                holder.ticketcounttt=(TextView) rowView.findViewById(R.id.ticketcounttt);
                holder.name=(TextView) rowView.findViewById(R.id.textView1);
                holder.city=(TextView) rowView.findViewById(R.id.textView2);
                holder.added_date=(TextView) rowView.findViewById(R.id.textView333);

                //Traffic cases...
                if(SharedVariables.is_traffic_search_ON_flag)
                {

                    if(search_cases_trafficTicketsList.get(position).CaseID!=0)holder.rl2.setBackgroundResource(R.drawable.green_color1); //Pink color...
                    else  holder.rl2.setBackgroundResource(R.drawable.pink_color); //Green color...

        if(search_cases_trafficTicketsList.get(position).Sex.equals("M"))holder.genderimage.setBackgroundResource(R.drawable.man);
                    else holder.genderimage.setBackgroundResource(R.drawable.woman);
        holder.ticketcounttt.setTypeface(SharedVariables.font);
        holder.name.setTypeface(SharedVariables.font);
        holder.city.setTypeface(SharedVariables.font);
        holder.added_date.setTypeface(SharedVariables.font);
        holder.name.setText(search_cases_trafficTicketsList.get(position).FirstName+" "+search_cases_trafficTicketsList.get(position).LastName);
        holder.city.setText(search_cases_trafficTicketsList.get(position).City+" City"+"("+search_cases_trafficTicketsList.get(position).ZIP+")");

                    try{

                        String s[]=search_cases_trafficTicketsList.get(position).ViolationDate.split("/");

                        String month=SharedVariables.convertFromNumberToMonth(Integer.parseInt(s[0]));
                        String day=s[1];

                        String year=s[2].substring(0,4);

                    holder.added_date.setText("Added: "+Integer.parseInt(day)+" "+month+" "+year);  
                    }catch (Exception e) {
                        e.printStackTrace();
                        // TODO: handle exception
                    }           

                    try{
                        holder.ticketcounttt.setText(""+search_cases_trafficTicketsList.get(position).Violations.split(",").length);
                    }catch (Exception e) {
                        e.printStackTrace();
                        // TODO: handle exception
                    }       

                }

                //Criminal casess...
                else{

                    if(search_cases_criminalTicketsList.get(position).CaseID!=0)holder.rl2.setBackgroundResource(R.drawable.green_color1); //Pink color...
                    else  holder.rl2.setBackgroundResource(R.drawable.pink_color); //Green color...

            holder.ticketcounttt.setTypeface(SharedVariables.font);
        holder.name.setTypeface(SharedVariables.font);
        holder.city.setTypeface(SharedVariables.font);
        holder.added_date.setTypeface(SharedVariables.font);
        holder.name.setText(search_cases_criminalTicketsList.get(position).FirstName+" "+search_cases_criminalTicketsList.get(position).LastName);
        holder.city.setText(search_cases_criminalTicketsList.get(position).City+" City");

                    try{

                        String s[]=search_cases_criminalTicketsList.get(position).ViolationDate.split("/");

                        String month=SharedVariables.convertFromNumberToMonth(Integer.parseInt(s[0]));
                        String day=s[1];

                        String year=s[2].substring(0,4);

                    holder.added_date.setText("Added: "+Integer.parseInt(day)+" "+month+" "+year);  
                    }catch (Exception e) {
                        e.printStackTrace();
                        // TODO: handle exception
                    }           

                    try{
                        holder.ticketcounttt.setText(""+search_cases_criminalTicketsList.get(position).Violations.split(",").length);
                    }catch (Exception e) {
                        e.printStackTrace();
                        // TODO: handle exception
                    }       

                }


                rowView.setTag(holder);                 

            }
            else
            {
                holder = (ViewHolder) rowView.getTag();
            }

            return rowView;

        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }


    }`
class UserListAdapter扩展了ArrayAdapter
{
@凌驾
public int getCount(){
//TODO自动生成的方法存根
内部温度;
if(SharedVariables.is_traffic_search_ON_flag){
temp=search\u cases\u trafficketslist.size();
}否则{
temp=search\u cases\u criminalTicketsList.size();
}
返回温度;
}
活动语境;
公共UserListAdapter(活动上下文){
超级(上下文,0);
Log.d(“hh”、“sgbdfjfdgfk”);
this.context=上下文;
}
类视图持有者{
相对分子量rl2;
图像视图性别图像;
TextView票数;
文本视图名称;
文本视图城市;
TextView添加了_日期;
}
@抑制警告(“未使用”)
public View getView(最终int位置,视图convertView,视图组父级){//这里我们膨胀布局“R.layout.cars\u行”
视窗座;
视图行视图=转换视图;
if(rowView==null){
LayoutInflater充气器=上下文。getLayoutInflater();
如果(SharedVariables.is_traffic_search_ON_flag)行视图=充气器充气(R.layout.traffic_行,null,true);
else rowView=充气机。充气(R.LAYOU.U行,null,true);
holder=新的ViewHolder();
holder.rl2=(RelativeLayout)rowView.findViewById(R.id.rl2);
试一试{
holder.genderimage=(ImageView)rowView.findViewById(R.id.genderimage);
}捕获(例外e){
e、 printStackTrace();
//TODO:处理异常
}
holder.ticketcounttt=(TextView)rowView.findViewById(R.id.ticketcounttt);
holder.name=(TextView)rowView.findViewById(R.id.textView1);
holder.city=(TextView)rowView.findViewById(R.id.textView2);
holder.added_date=(TextView)rowView.findViewById(R.id.textView333);
//交通案件。。。
if(SharedVariables.is_traffic_search_ON_flag)
{
if(search_cases_trafficketslist.get(position).CaseID!=0)holder.rl2.setBackgroundResource(R.drawable.green_color1);//粉色。。。
else holder.rl2.setBackgroundResource(R.drawable.pink_color);//绿色。。。
if(search_cases_trafficketslist.get(position.Sex.equals(“M”))holder.genderimage.setBackgroundResource(R.dravable.man);
else holder.genderimage.setBackgroundResource(R.drawable.woman);
holder.ticketcounttt.setTypeface(SharedVariables.font);
holder.name.setTypeface(SharedVariables.font);
holder.city.setTypeface(SharedVariables.font);
holder.added_date.setTypeface(SharedVariables.font);
holder.name.setText(search\u cases\u trafficketslist.get(position).FirstName+“”+search\u cases\u trafficketslist.get(position).LastName);
holder.city.setText(search_cases_traffinatedcketslist.get(position.city)+“city”+”(“+search_cases_traffinatedcketslist.get(position.ZIP+”));
试一试{
字符串s[]=search\u cases\u trafficketslist.get(position.ViolationDate.split(“/”);
String month=SharedVariables.convertFromNumberToMonth(Integer.parseInt(s[0]);
字符串日期=s[1];
字符串year=s[2]。子字符串(0,4);
holder.added_date.setText(“added:“+Integer.parseInt(day)++”“+month+”“+year”);
}捕获(例外e){
e、 printStackTrace();
//TODO:处理异常
}           
试一试{
holder.ticketcounttt.setText(“+search\u cases\u trafficketslist.get(position).inflictions.split(“,”).length);
}捕获(例外e){
e、 printStackTrace();
//TODO:处理异常
}       
}
//刑事案件。。。
否则{
if(search_cases_criminalTicketsList.get(position).CaseID!=0)holder.rl2.setBackgroundResource(R.drawable.green_color1);//粉红色。。。
else holder.rl2.setBackgroundResource(R.drawable.pink_color);//绿色。。。
holder.ticketcounttt.setTypeface(SharedVariables.font);
holder.name.setTypeface(SharedVariables.font);
holder.city.setTypeface(SharedVariables.font);
holder.added_date.setTypeface(SharedVariables.font);
holder.name.setText(search\u cases\u criminalTicketsList.get(position).FirstName+“”+search\u cases\u criminalTicketsList.get(position).LastName);
holder.city.setText(search_cases_criminalTicketsList.get(position.city+“city”);
试一试{
字符串s[]=search\u cases\u criminalTicketsList.get(position.ViolationDate.split(“/”);
String month=SharedVariables.convertFromNumberToMonth(Integer.parseInt(s[0]);
字符串日期=s[1];
字符串year=s[2]。子字符串(0,4);
holder.added_date.setText(“added:“+Integer.parseInt(day)++”“+month+”“+year”);
}捕获(例外e){
e、 printStackTrace();
//TODO:处理异常
}           
试一试{
holder.ticketcounttt.setText(“+search\u cases\u criminalTicketsList.get