Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Get方法返回错误的空值_Java_Android_Sqlite - Fatal编程技术网

Java Get方法返回错误的空值

Java Get方法返回错误的空值,java,android,sqlite,Java,Android,Sqlite,我在setters中获取数据,但在getter中不获取数据。 下面的代码是DatabaseHelper.java的代码 public List<HouseModal> get_Working_Area_Structures_House(int limit, int offset,String searched_Str) { if(database == null){ database = getWritableDatabase(); }

我在setters中获取数据,但在getter中不获取数据。 下面的代码是DatabaseHelper.java的代码

  public  List<HouseModal> get_Working_Area_Structures_House(int limit, int offset,String searched_Str) {
    if(database == null){
        database = getWritableDatabase();
    }
    List<HouseModal> list_krd= new ArrayList<>();

    String selectQuery = "SELECT DISTINCT\n" +
            "\tWAS.Para_Structure_ID,\n" +
            "\tWAS.Para_Code || '   ' || CAST (WAS.Structure_No AS int) AS Structure_No,\n" +
            "\tST.Family_Count AS Families,\n" +
            "\tFM.Family_Members_Count AS Family_Members, \n" +
            "\t FM.Family_Migration AS Family_Migration\n" +
            "FROM\n" +
            "\t (\n" +
            "\t\t SELECT\n" +
            "\t\t\tP.Para_Code,\n" +
            "\t\t\tPS.Para_Structure_ID,\n" +
            "\t\t\tPS.Structure_No \n" +
            "\t\tFROM\n" +
            "\t\t\tPara_Structure AS PS\n" +
            "\t\tINNER JOIN  Working_Area_Structures AS WAS ON PS.Para_Structure_ID = WAS.Para_Structure_ID\n" +
            "\t\tINNER JOIN  Field_Station_Paras AS P ON PS.Para_ID = P.Para_ID \n" +
            "\t) AS WAS,\n" +
            "\t (\n" +
            "\tSELECT\n" +
            "\t\t\tKH.Para_Structure_ID,\n" +
            "\t\t\tCOUNT(DISTINCT KH.House_Hold_ID) AS Family_Count \n" +
            "\t\tFROM\n" +
            "\t\t\tKhandan_Register_Header AS KH\n" +
            "\t\tLEFT JOIN  Family_Visit_History AS FVH ON KH.House_Hold_ID = FVH.House_Hold_ID \n" +
            "\t\tWHERE\n" +
            "\t\t(FVH.Visit_Status = 0 OR FVH.Visit_Status IS NULL)\n" +
            "\t\t--AND ((date(FVH.Visit_Date) >= (SELECT date(Starting_Date) FROM Working_Cycle WHERE DATE('NOW') BETWEEN date(Starting_Date)AND date(Ending_Date)) AND date(FVH.Visit_Date) <= (SELECT date(Ending_Date) FROM Working_Cycle WHERE DATE('NOW') BETWEEN date(Starting_Date)AND date(Ending_Date))) OR date(FVH.Visit_Date) IS NULL) \n" +
            "\t\t--AND (KH.House_Hold_ID NOT IN (SELECT DISTINCT House_Hold_ID FROM Family_Visit_History WHERE Visit_Status = 1)) \n" +
            "\t\tGROUP BY KH.Para_Structure_ID\n" +
            "\t) AS ST , (\n" +
            "\t\t SELECT\n" +
            "\t\t\tKH.Para_Structure_ID,\n" +
            "\t\t\tCOUNT(\n" +
            "\t\t\t\tDISTINCT KD.Family_Member_ID\n" +
            "\t\t\t) AS Family_Members_Count, \n" +
            "\t\t\tfmr.Family_Migration_ID AS Family_Migration \n" +
            "\t\tFROM\n" +
            "\t\t\tKhandan_Register_Detail AS KD\n" +
            "\t\tINNER JOIN  Khandan_Register_Header AS KH ON KD.House_Hold_ID = KH.House_Hold_ID\n" +
            "\t\tLEFT JOIN  Family_Visit_History AS FVH ON KH.House_Hold_ID = FVH.House_Hold_ID \n" +
            "\t\tleft join Family_Migration_Register as fmr on KH.House_Hold_ID = fmr.House_Hold_ID \n" +
            "\t\tWHERE\n" +
            "\t\t\t(\n" +
            "\t\t\t\tFVH.Visit_Status = 0\n" +
            "\t\t\t\tOR FVH.Visit_Status IS NULL\n" +
            "\t\t\t) \n" +
            "\t\t--AND ((date(FVH.Visit_Date) >= (SELECT date(Starting_Date)FROM Working_Cycle WHERE DATE('NOW') BETWEEN date(Starting_Date)AND date(Ending_Date)) \n" +
            "\t\t--AND date(FVH.Visit_Date) <= (SELECT date(Ending_Date) FROM Working_Cycle WHERE DATE('NOW') BETWEEN date(Starting_Date)AND date(Ending_Date))) OR date(FVH.Visit_Date) IS NULL) \n" +
            "\t\tAND (KH.House_Hold_ID NOT IN (SELECT DISTINCT House_Hold_ID FROM Family_Visit_History WHERE Visit_Status = 1 )) \n" +
            "\t\tGROUP BY\n" +
            "\t\t\tKH.Para_Structure_ID \n" +
            "\t) AS FM \n" +
            "WHERE\n" +
            "\tWAS.Para_Structure_ID = ST.Para_Structure_ID \n" +
            "\n" +
            "AND WAS.Para_Structure_ID = FM.Para_Structure_ID\n" +
            "\n" +
            "AND ST.Para_Structure_ID = FM.Para_Structure_ID\n" +
            "\n";
    if (!searched_Str.trim().equals("null") && !searched_Str.trim().equals(""))
    {
        selectQuery += " And WAS.Structure_No like '%"+searched_Str+"%'";
    }
    selectQuery += " ORDER BY WAS.Para_Code, Cast(WAS.Structure_No As int) limit "+limit+" offset "+offset;

    try{
        Cursor cursor = database.rawQuery(selectQuery, null);
        if (cursor.getCount() > 0) {
            if (cursor != null && cursor.moveToFirst()) {
                do {
                    HouseModal dkrd = new HouseModal();
                    dkrd.setStructureID(cursor.getInt(0));
                    dkrd.setStructureNo(cursor.getString(1));
                    dkrd.setFamilies(cursor.getInt(2));
                    dkrd.setMembers(cursor.getInt(3));
                    dkrd.setFamilyMigrationID(cursor.getString(4));
                    list_krd.add(dkrd);
                } while (cursor.moveToNext());
            }
        }
        cursor.close();
    }
    catch (Exception e){
        e.printStackTrace();
    }
    return list_krd;
}

您需要使用
getColumnIndex()
此方法来使用游标获取列索引

使用以下代码:

HouseModal dkrd = new HouseModal();
dkrd.setStructureID(cursor.getInt(cursor.getIndex("column name here"));
dkrd.setStructureNo(cursor.getString(cursor.getIndex("column name here")));
dkrd.setFamilies(cursor.getInt(cursor.getIndex("column name here")));
dkrd.setMembers(cursor.getInt(cursor.getIndex("column name here")));
dkrd.setFamilyMigrationID(cursor.getString(cursor.getIndex("column name here")));
而不是您的代码:

HouseModal dkrd = new HouseModal();
                dkrd.setStructureID(cursor.getInt(0));
                dkrd.setStructureNo(cursor.getString(1));
                dkrd.setFamilies(cursor.getInt(2));
                dkrd.setMembers(cursor.getInt(3));
                dkrd.setFamilyMigrationID(cursor.getString(4));

有关getColumnIndex(字符串columnName)的详细信息:

返回给定列名的从零开始的索引,如果 列不存在。如果希望该列存在,请使用
getColumnIndexOrThrow(String)
,这将使错误更加清楚

参数

columnName:目标列的名称


您需要将listItem设置为super()方法。请尝试下面的代码,它将解决您的问题

public HouseAdapter(Context context,List<HouseModal> items) {
        super(context,R.layout.view_house_item,items);
    }
public HouseAdapter(上下文,列表项){
超级(上下文、右布局、视图、房屋、项目);
}

请正确阅读用户问题,用户发布的带有列表结果的图像我在哪里使用getItem()?HouseModal item=getItem(位置);这个方法在哪里?我没用过?你能告诉我使用它的程序吗?如果你能对代码进行更改,这对我很有用……请检查我的答案,你忘了在超级方法中设置列表元素。你能发布
getItem(position)
的代码吗?你的答案有效,现在我也在getter中获取数据。谢谢你抽出时间帮助我
HouseModal dkrd = new HouseModal();
                dkrd.setStructureID(cursor.getInt(0));
                dkrd.setStructureNo(cursor.getString(1));
                dkrd.setFamilies(cursor.getInt(2));
                dkrd.setMembers(cursor.getInt(3));
                dkrd.setFamilyMigrationID(cursor.getString(4));
public HouseAdapter(Context context,List<HouseModal> items) {
        super(context,R.layout.view_house_item,items);
    }