这里是下面的代码,我得到的错误是Bmi bmi = new Bmi();我试图找出它,可能是我花了很长时间才看到它,只是不能看到它。这种方式与自定义适配器newBmi(新Bmi(bmiLabel,bmiDate,heightStr,weightStr));我想从SQLite中使用数据来填充我已经创建的自定义阵列适配器
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;
//公共BMI(字符串bmiLabel,字符串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;
}
}
您是否收到任何异常? – Passiondroid
它所说的是Bmi()不能通过字符串,字符串,字符串,字符串, – IrishProgrammer
期望的参数weight,height,bmiLabel,bmiDate。有没有什么实际参数 – IrishProgrammer