Android 自定义listview imageview错误

Android 自定义listview imageview错误,android,android-layout,Android,Android Layout,您好,我正在使用texview、imageview创建一个自定义listview,我正在访问sqlite数据库中的数据,在这里我存储每个图像的名称,并在尝试使用holder.mimage.setImageResource(list.get(position.getImage())访问时将图像放在Assets文件夹中; 这是给的错误,我如何才能访问它任何建议将是非常有益的 public class InteractiveArrayAdapter extends ArrayAdapter<Po

您好,我正在使用texview、imageview创建一个自定义listview,我正在访问sqlite数据库中的数据,在这里我存储每个图像的名称,并在尝试使用holder.mimage.setImageResource(list.get(position.getImage())访问时将图像放在Assets文件夹中; 这是给的错误,我如何才能访问它任何建议将是非常有益的

public class InteractiveArrayAdapter extends ArrayAdapter<PosHolder> {
String tag = "Events";
private final List<PosHolder> list;
private final Activity context;
int li,jh;



public InteractiveArrayAdapter(Activity context, List<PosHolder> list) {
    super(context, R.layout.row, list);
    this.context = context;
    this.list = list;
}

 static class ViewHolder {
    protected TextView text;
    protected CheckBox checkbox,checkbox1;
    protected RadioGroup mgroup;
    protected RadioButton mbutton;
    protected ImageView mimage;
}




public View getView( final int position, View convertView, ViewGroup parent) {
    //Log.d(tag," 3");

     View view =null;
    if (convertView == null) {
        //System.out.println("ok");
        LayoutInflater inflator = context.getLayoutInflater();
        view = inflator.inflate(R.layout.row, null);
        final ViewHolder viewHolder = new ViewHolder();
        viewHolder.text = (TextView) view.findViewById(R.id.textView1);

        viewHolder.mimage = (ImageView) view.findViewById(R.id.imageView1);




           view.setTag(viewHolder);
           viewHolder.mimage.setTag(list.get(position));


    } else {
        view = convertView;
        ((ViewHolder) view.getTag()).mimage.setTag(list.get(position));


    }
     ViewHolder holder = (ViewHolder) view.getTag();
    view.getTag()).mgroup.getTag();
     holder.text.setText(list.get(position).getName());
     holder.mimage.setImageResource(list.get(position).getImage());//This line is showing the error

    return view;

}
public class PosHolder {
private String name;
private String smallimage;


public PosHolder(String name, String smallimage) {
    // TODO Auto-generated constructor stub

    this.name=name;
    this.smallimage=smallimage;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getImage() {
    return smallimage;
}
public void setImage(String phone) {
    this.smallimage = phone;
}}
公共类InteractiveArrayAdapter扩展了ArrayAdapter{
String tag=“事件”;
私人最终名单;
私人最终活动背景;
李国华,;
公共InteractiveArrayAdapter(活动上下文、列表){
super(上下文、R.layout.row、列表);
this.context=上下文;
this.list=列表;
}
静态类视窗夹{
受保护的文本查看文本;
受保护复选框,复选框1;
受保护的放射组经理组;
受保护的无线按钮;
受保护的图像视图模拟图像;
}
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
//日志d(标签“3”);
视图=空;
if(convertView==null){
//System.out.println(“ok”);
LayoutInflater充气器=上下文。getLayoutInflater();
视图=充气机充气(R.layout.row,空);
最终ViewHolder ViewHolder=新的ViewHolder();
viewHolder.text=(TextView)view.findViewById(R.id.textView1);
viewHolder.mimage=(ImageView)view.findViewById(R.id.imageView1);
view.setTag(viewHolder);
viewHolder.mimage.setTag(list.get(position));
}否则{
视图=转换视图;
((ViewHolder)view.getTag()).mimage.setTag(list.get(position));
}
ViewHolder=(ViewHolder)view.getTag();
view.getTag()).mgroup.getTag();
holder.text.setText(list.get(position.getName());
holder.mimage.setImageResource(list.get(position.getImage());//此行显示错误
返回视图;
}
公共类职位持有者{
私有字符串名称;
私有字符串图像;
公共PosHolder(字符串名称、字符串图像){
//TODO自动生成的构造函数存根
this.name=name;
this.smallimage=smallimage;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共字符串getImage(){
返回图像;
}
公共void setImage(字符串电话){
this.smallimage=手机;
}}

这是因为您正在将图像的名称传递给imageView,而不是图像。您正在从PosHolder对象列表中返回图像的imageName实例。您的PosHolder对象给您的字符串不是图像

public String getImage() 
{     
    return smallimage; 
}

这导致异常。

错误是因为您没有实例化“ViewHolder”的字段类。
在设置imageResource时,它们仍然为空。

感谢replay。是否有任何方法可以通过使用其名称或函数来设置图像,因为我不知道bitmapyep。您可以通过提供其drwable名称来实现。
public int getImage(){return R.drawable.myImage;}
其中myImage是我的图像的名称。