如何使用数据库显示包含图片和文本的列表视图

时间:2012-08-27 10:21:36

标签: android android-layout

我有一个应用程序,它将显示一个简单的列表视图。列表视图将显示SQLite数据库的特定表的内容。

在数据库表中我有3个字段。 ID, Name and Picture

示例行将是:

ID : 1
Name : Glass
Picture : @drawable/glass

是否可以使用列表视图查看此信息或任何其他方式。 我需要ListView来显示ID,然后是Picture,然后在一个ListView部分中显示Name,如果这是有道理的。

由于

// EDIT 此外,数据库位于应用程序的assets文件夹中,这是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

此代码加载带有图像的列表视图,并将textview引用并编辑以供您使用(来自延迟适配器的示例代码)

public class abcdadapter extends BaseAdapter {

private Activity activity;
private String[] data;
private ArrayList<HashMap<String, String>> dat;

private static LayoutInflater inflater=null;
public ImageLoader imageLoader; 

public abcdadapter(Activity a, ArrayList<HashMap<String, String>> save,String[] images) {
    activity = a;

    dat=save;
    data=images;
    inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    imageLoader=new ImageLoader(activity.getApplicationContext());
}

public int getCount() {
    return data.length;
}

public Object getItem(int position) {
    return position;
}

public long getItemId(int position) {
    return position;
}

public static class ViewHolder{
    public TextView text;
    public ImageView image;
}

public View getView(int position, View convertView, ViewGroup parent) {
    return parent;
    View vi=convertView;
    ViewHolder holder;
    if(convertView==null){
        vi = inflater.inflate(R.layout.item, null);
        holder=new ViewHolder();
        holder.text=(TextView)vi.findViewById(R.id.text);
        holder.image=(ImageView)vi.findViewById(R.id.image);
        vi.setTag(holder);
    }
    else
        holder=(ViewHolder)vi.getTag();

    holder.text.setText(dat.get(position).get("NAME"));
 //   holder.image.setTag(data[position]);     // set your image from drawable
  //  imageLoader.DisplayImage(data[position], activity, holder.image);

    return vi;

}