Android ListView与URL和TextView中的ImageView
我现在有一个ListView,它从SimpleAdapter获取信息,在SimpleAdapter中将文本输入到TextView中。但是,我现在想将ImageView添加到ListView,并从URL加载图像,同时仍将文本加载到TextView 有人知道我怎么做吗?在这种情况下可能不使用SimpleAdapter 谢谢,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只能处理文本。如果希望列表中的每
DanielSimpleAdapter只能处理文本。如果希望列表中的每个项目都包含不同的图像,则必须创建自定义适配器。SimpleAdapter只能处理文本。如果希望列表中的每个项目都包含不同的图像,则必须创建自定义适配器。必须使用新布局扩展BaseAdapter,在该布局中,您可以根据需要显示ImageView和TextView。互联网上有很多例子。例如:
您必须使用新的布局扩展BaseAdapter,根据需要显示ImageView和TextView。互联网上有很多例子。例如:
您必须执行以下操作:
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库也可以缓存图像 您必须执行以下操作:
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来编辑文本视图的吗?谢谢