下面的代码我得到的错误是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;
}
}
答案 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);