有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何编写查询以在Listview中显示图像?

我有关于主要活动的列表视图。在Listview上必须显示图像和文本。我写查询,并成功显示文本。我制作了ListCategoryAdapter,它扩展了BaseAdapter。所有的教程都是关于阵列的,没有一个是关于数据库的。这是适配器

public class ListCategoryAdapter extends BaseAdapter{

    LayoutInflater inflater;
    List<Category> cats;
    Context context;
    DbHelper dbHelper;
    String stt;
    RecordHolder holder = null;

    public ListCategoryAdapter(Context context1, List<Category> list){
        if (list != null){
            this.cats = list;
            this.context = context1;
            inflater = (LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }
    }

    @Override
    public int getCount() {
        return cats.size();
    }

    @Override
    public Object getItem(int position) {
        return cats.get(position);
    }

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

    private class ViewHolder {
        ImageView imageView2;
        TextView txtCateg;

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        if (convertView == null){
            convertView = inflater.inflate(R.layout.list_cat_adapter, null);
        }

        holder = new RecordHolder();
        final Category cat = cats.get(position);

        holder.txtCateg = (TextView)convertView.findViewById(R.id.txtCateg);
        holder.txtCateg.setText(cat.getTitle());

        holder.imageView2 = (ImageView) convertView.findViewById(R.id.imageView2);
        holder.imageView2.setImageResource(cat.getImage());
        return convertView;
    }

    static class RecordHolder{
        TextView txtCateg;
        ImageView imageView2;
    }
}

这是从中调用文本和图像的数据库

public List<Category> categories(){
    SQLiteDatabase db = this.getReadableDatabase();
    List<Category> categoryList = new ArrayList<Category>();
    String ss = "select * from category";
    Cursor cursor = db.rawQuery(ss, null);
    if (cursor.moveToFirst()) {
        do {

            Resources resources = mContext.getResources();

        Category category = new Category();
        category.setId(cursor.getInt(0));
        category.setTitle(cursor.getString(1));
        category.setImage(cursor.getInt(2));  
        categoryList.add(category);

        } while (cursor.moveToNext());
    }  db.close();

    return categoryList;
}

这是分类课

public class Category {

    int id;
    int image;
    String title;

    public Category(int image, String title, int id) {
        super();
        this.id = id;
        this.image = image;
        this.title = title;
    }

    public Category() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
}

共 (0) 个答案