数组列表中的多个coloums

时间:2018-03-29 06:35:21

标签: android sqlite

我正在尝试将sqllite数据库中的所有列提取到ArrayList.My表名是Products.I创建了一个ArrayList适配器名称Product.I我在DBHELPER类中获取我的表值。但是当我使用ArrayList时添加以添加我的arrayadapter中的所有列值我收到以下错误

  

无法解析方法add(java.lang.string,java.lang.string)

DBHELPER.JAVA

public ArrayList<Product> getProductdetails()
{
    ArrayList<Product> array_list = new ArrayList<Product>();
    SQLiteDatabase db = this.getReadableDatabase();
    db.beginTransaction();
    try {
        String selectQuery = "SELECT  * FROM " + TABLE_PRODUCTS;
        Cursor cursor = db.rawQuery(selectQuery, null);


        if (cursor.getCount() > 0) {
            while (cursor.moveToNext()) {

                String product_name = cursor.getString(cursor.getColumnIndex("PRODUCT_NAME"));
                String Quantity = cursor.getString(cursor.getColumnIndex("Quantity"));
                String PROD_VAT = cursor.getString(cursor.getColumnIndex("PROD_VAT"));

                array_list.add(product_name,Quantity,PROD_VAT,PROD_VAT);
               // array_list.addAll(Arrays.asList(product_name,Quantity,PROD_VAT,PROD_VAT));
            }
        }

    }catch (Exception e){
        e.printStackTrace();
    }
    finally {
        db.endTransaction();
        db.close();
    }
    return array_list;
}

PRODUCT.JAVA

 public class Product {
//private variables

String _PRODUCT_CODE;
String _PRODUCT_NAME;
String _PRODUCT_RATE;
String _PRODUCT_VAT;
// Empty constructor
public Product(){

}
// constructor
public Product(String PRODUCT_CODE, String PRODUCT_NAME, String PRODUCT_RATE,String PRODUCT_VAT){
    this._PRODUCT_CODE = PRODUCT_CODE;
    this._PRODUCT_NAME = PRODUCT_NAME;
    this._PRODUCT_RATE = PRODUCT_RATE;
    this._PRODUCT_VAT = PRODUCT_VAT;
}


public String getproductcode(){ return this._PRODUCT_CODE;}

public String getproductname(){
    return this._PRODUCT_NAME;
}
public String getproductrate(){return this._PRODUCT_RATE;}
public String getproductvat(){return this._PRODUCT_VAT;}
}

4 个答案:

答案 0 :(得分:1)

您正在以错误的方式向ArrayList添加数据。你的ArrayList是对象的类型(例如你的Product类),所以你需要传递模型类的实例。

array_list.add(new Product(code,name,rate,vat));

答案 1 :(得分:1)

您的Arraylist是Product的类型,它是一个模型类,因此您必须在arraylist中添加模型类,如下所示:

array_list.add(new Product(product_name,Quantity,PROD_VAT,PROD_VAT));

答案 2 :(得分:1)

addAll()

java.util.ArrayList class方法。此方法用于将列表的所有元素添加到另一个列表。

你想要的是获取单曲和&amp;将它添加到数组列表,以及您尝试编码的位置是将单个项目作为集合添加到数组列表中,这是错误的。

您需要按以下方式添加每个模型,

array_list.add(new Product(product_name,Quantity,PROD_VAT,PROD_VAT));

答案 3 :(得分:-1)

修改

array_list.add(product_name,Quantity,PROD_VAT,PROD_VAT);

array_list.add(new Product(product_name,Quantity,PROD_VAT,PROD_VAT));