我试图使用SQLite中的数据来填充我已经创建的自定义数组适配器

时间:2017-04-18 21:11:41

标签: android sqlite

下面的代码我得到的错误是Bmi bmi = new Bmi();我试图想象一下,可能是我花了很长时间才看到它只是看不到它。这种方式适用于自定义适配器newBmi(新的Bmi(bmiLabel,bmiDate,heightStr,weightStr));

        public List<Bmi> getAllBmi() {
    List<Bmi> bmis = new ArrayList<>();

    // Select All Query
    String selectQuery = "SELECT  * FROM " + T_NAME;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {

            Bmi bmi = new Bmi();
            bmi.setWeight(cursor.getString(1));
            bmi.setHeight(cursor.getString(2));
            bmi.setBmiLabel(cursor.getString(3));
            bmi.setBmiDate(cursor.getString(4));

            bmis.addAll((Collection<? extends Bmi>) bmi);
        } while (cursor.moveToNext());
    }


    return bmis;
}



















            package ie.wit.fitnessmadeeasy.ie.app.models;

            import java.util.List;

          /**
           * Created by mikel_000 on 05/03/2017.
           */

             public class Bmi {
           //public double height;
            // public double weight;
            public String bmiLabel;
            public String bmiDate;
            public String weight;
            public String height;

// public Bmi(String bmiLabel,String bmiDate)   // {

   // this.height = height;
   // this.weight = weight;
   // this.bmiLabel = bmiLabel;
  //  this.bmiDate = bmiDate;

//}

          public Bmi(String weight, String height, String bmiLabel, String bmiDate) {
             this.bmiLabel = bmiLabel;
             this.bmiDate = bmiDate;
             this.weight = weight;
             this.height = height;
}




public void addAll(String bmiLabel, String bmiDate) {
    this.bmiLabel = bmiLabel;
    this.bmiDate = bmiDate;
}

public void setWeight(String weight) {
    this.weight = weight;
}

public void setHeight(String height) {
    this.height = height;
}

public void setBmiLabel(String bmiLabel) {
    this.bmiLabel = bmiLabel;
}

public void setBmiDate(String bmiDate) {
    this.bmiDate = bmiDate;
}

}

1 个答案:

答案 0 :(得分:1)

看着你的Bmi班。您可以使用下面的代码

创建Bmi实例
        String weight = cursor.getString(1);
        String height = cursor.getString(2);
        String bmiLabel = cursor.getString(3);
        String bmiDate = cursor.getString(4);
        Bmi bmi = new Bmi(weight, height, bmilabel, bmiDate);