2017-04-18 60 views
0

这里是下面的代码,我得到的错误是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; 
} 

}

+0

您是否收到任何异常? – Passiondroid

+0

它所说的是Bmi()不能通过字符串,字符串,字符串,字符串, – IrishProgrammer

+0

期望的参数weight,height,bmiLabel,bmiDate。有没有什么实际参数 – IrishProgrammer

回答

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); 
+0

我现在试试那里 – IrishProgrammer

+0

这样做的工作,非常感谢芽 – IrishProgrammer

相关问题