1

データベース プロジェクトに 6 つのレコードがあります。各レコードを読み取り、動的配列への遷移の結果を確認する for ループ。しかし、For ループは最後まで続けることはできません。for ループで 3 番目のレコードを調べます。

    int count = db.count_field("location", "id");

    geoAttrs = new ArrayList<StructureGeo>();
    StructureGeo geo = new StructureGeo();

    for (int i = 0; i < count; i++) {
        geo.lat = db.get_lat("location", i);
        geo.lang = db.get_log("location", i);
        geo.result = gps2m(latitude, longitude, geo.lat, geo.lang);
        geoAttrs.add(geo);
        Log.i("LOG", "Array Index #" + i + " = " + geoAttrs.get(i));
    }
    db.close();
    }

編集 :

後のトーストコード:

int count = db.count_field("location", "id");

そして結果:

ここに画像の説明を入力

4

3 に答える 3

0

ループは大丈夫です。ループが開始する前に、カウント変数を制御する行を挿入します。

int count = db.count_field("location", "id");
    Log.d("LOG", "count equals " + count);
geoAttrs = new ArrayList<StructureGeo>();
StructureGeo geo = new StructureGeo();

予想よりも少ない場合は、データベースにバグがないか確認してください。

于 2014-12-25T12:09:44.057 に答える