我目前有一个ListView从SimpleAdapter获取信息,它将文本馈送到TextViews中。不过,我现在想要将一个ImageView添加到ListView并从URL加载图像,并仍然将文本加载到TextView。Android的ListView与ImageView的URL和TextView
有谁知道我该怎么做?也许在这种情况下不使用SimpleAdapter?
感谢, 丹尼尔
我目前有一个ListView从SimpleAdapter获取信息,它将文本馈送到TextViews中。不过,我现在想要将一个ImageView添加到ListView并从URL加载图像,并仍然将文本加载到TextView。Android的ListView与ImageView的URL和TextView
有谁知道我该怎么做?也许在这种情况下不使用SimpleAdapter?
感谢, 丹尼尔
使用本教程来完成它并修改LazyAdapter类以编辑TextViews。
http://www.technotalkative.com/android-asynchronous-image-loading-in-listview/
我并不是说要带回一个死帖,但你能解释一下你如何修改LazyAdapter来编辑TextViews?谢谢。 –
SimpleAdapter只能处理文字。如果您想要列出每个项目包含不同图像的列表,您必须创建一个自定义适配器。
您必须使用新的布局来扩展BaseAdapter,根据您的需要显示ImageView和TextView。互联网上有很多例子。例如:
http://www.technotalkative.com/tag/android-listview-with-two-textview-and-imageview/
你将不得不做以下事情:
适配器的一个例子。
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库也会缓存图片!
你想为每一行布置不同的布局吗?或者每行都包含图像和文本? – Nfear
@Nfear是的每一行都包含一个图像和文字。 – DVassilev