最近新需求开工 里面用到地址三级联动 需要从数据库里读取数据 然后展示出来
遍历cursor的时候遇到了一个问题 就是每一级都是从第二个数据开始 缺少第一个数据
// 查找二级 public ArrayList<CitiesJsonBean> findSecondCode(SQLiteDatabase db,String id) { Cursor cursor = db.rawQuery("select code,text from province where fulltext is null and parentcode=?", new String[]{id}); int resultCounts = cursor.getCount(); if (resultCounts == 0 || !cursor.moveToFirst()) { return null; } ArrayList<CitiesJsonBean> mCitiesList = new ArrayList<>(); // for (int i = 0;i<resultCounts;i++){ // String code = cursor.getString(cursor.getColumnIndex("CODE")); // String text = cursor.getString(cursor.getColumnIndex("TEXT")); // CitiesJsonBean city = new CitiesJsonBean(); // city.setName(text); // city.setCode(code); // // mCitiesList.add(city); // cursor.moveToNext(); // } while (cursor.moveToNext()){ String code = cursor.getString(cursor.getColumnIndex("CODE")); String text = cursor.getString(cursor.getColumnIndex("TEXT")); CitiesJsonBean city = new CitiesJsonBean(); city.setName(text); city.setCode(code); mCitiesList.add(city); } cursor.close(); return mCitiesList; }
最后我用的是for循环 也就是上面注释的那段代码代替下面的while 就可以了
应该是cursor.moveToNext()的问题 直接跳到了下一个