Android ListView与URL和TextView中的ImageView

Android ListView与URL和TextView中的ImageView,android,listview,android-listview,imageview,listadapter,Android,Listview,Android Listview,Imageview,Listadapter,我现在有一个ListView,它从SimpleAdapter获取信息,在SimpleAdapter中将文本输入到TextView中。但是,我现在想将ImageView添加到ListView,并从URL加载图像,同时仍将文本加载到TextView 有人知道我怎么做吗?在这种情况下可能不使用SimpleAdapter 谢谢, DanielSimpleAdapter只能处理文本。如果希望列表中的每个项目都包含不同的图像,则必须创建自定义适配器。SimpleAdapter只能处理文本。如果希望列表中的每

我现在有一个ListView,它从SimpleAdapter获取信息,在SimpleAdapter中将文本输入到TextView中。但是,我现在想将ImageView添加到ListView,并从URL加载图像,同时仍将文本加载到TextView

有人知道我怎么做吗?在这种情况下可能不使用SimpleAdapter

谢谢,
Daniel

SimpleAdapter只能处理文本。如果希望列表中的每个项目都包含不同的图像,则必须创建自定义适配器。

SimpleAdapter只能处理文本。如果希望列表中的每个项目都包含不同的图像,则必须创建自定义适配器。

必须使用新布局扩展BaseAdapter,在该布局中,您可以根据需要显示ImageView和TextView。互联网上有很多例子。例如:


您必须使用新的布局扩展BaseAdapter,根据需要显示ImageView和TextView。互联网上有很多例子。例如:


您必须执行以下操作:

  • 为包含imageview和textview的listview行创建xml布局
  • 在活动中,删除listview元素
  • 编写一个自定义适配器,扩展baseadapter以根据需要填充视图
  • 要从url加载图像,请使用图像加载程序库作为Android AQuery
  • 适配器的示例

    public class Onadapter extends BaseAdapter {
    String[] label;
    String[] image;
    
    public Onadapter(Context context,String[] label,String[] image)
    {
    
        this.context=context;
        this.image = image;
        this.label = label;
    
    }
    
    private class ViewHolder{
        ImageView img;
        TextView label;
    
    }
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
    
        LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.list_layout, null);
            holder = new ViewHolder();
            holder.label=(TextView) convertView.findViewById(R.id.textview);
            holder.img = (ImageView) convertView.findViewById(R.id.imageview);
            convertView.setTag(holder);
        }
        else {
            holder = (ViewHolder) convertView.getTag();
        }
    
         AQuery aq = new AQuery(convertView);
    
         aq.id(holder.label).text(label[position]);
         aq.id(holder.img).image(image[position], true, true, 0, 0, null, AQuery.FADE_IN_NETWORK, 1.0f);
    
        return convertView;
    }
    
    
    @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return image1.length;
        }
    
    
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }
    
    
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return null;
        }
    
    通过下载jar版本(首选)导入AQuery库,并将其粘贴到libs文件夹中


    为标签和图像url传入两个字符串数组。AQuery库也可以缓存图像

    您必须执行以下操作:

  • 为包含imageview和textview的listview行创建xml布局
  • 在活动中,删除listview元素
  • 编写一个自定义适配器,扩展baseadapter以根据需要填充视图
  • 要从url加载图像,请使用图像加载程序库作为Android AQuery
  • 适配器的示例

    public class Onadapter extends BaseAdapter {
    String[] label;
    String[] image;
    
    public Onadapter(Context context,String[] label,String[] image)
    {
    
        this.context=context;
        this.image = image;
        this.label = label;
    
    }
    
    private class ViewHolder{
        ImageView img;
        TextView label;
    
    }
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
    
        LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.list_layout, null);
            holder = new ViewHolder();
            holder.label=(TextView) convertView.findViewById(R.id.textview);
            holder.img = (ImageView) convertView.findViewById(R.id.imageview);
            convertView.setTag(holder);
        }
        else {
            holder = (ViewHolder) convertView.getTag();
        }
    
         AQuery aq = new AQuery(convertView);
    
         aq.id(holder.label).text(label[position]);
         aq.id(holder.img).image(image[position], true, true, 0, 0, null, AQuery.FADE_IN_NETWORK, 1.0f);
    
        return convertView;
    }
    
    
    @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return image1.length;
        }
    
    
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }
    
    
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return null;
        }
    
    通过下载jar版本(首选)导入AQuery库,并将其粘贴到libs文件夹中


    为标签和图像url传入两个字符串数组。AQuery库也可以缓存图像

    使用本教程完成此操作,并修改LazyAdapter类以同时编辑文本视图


    使用本教程完成此操作,并修改LazyAdapter类以同时编辑文本视图


    您希望每行有不同的布局吗?或者每一行都包含一个图像和文本?@n是的每一行都包含一个图像和文本。您希望每一行有不同的布局吗?还是每一行都包含一个图像和文本?@n是的,每一行都包含一个图像和文本。我并不是想说废话,但你能解释一下你是如何修改LazyAdapter来编辑文本视图的吗?谢谢。我并不是说要收回一篇死板的帖子,但是你能解释一下你是如何修改LazyAdapter来编辑文本视图的吗?谢谢