目的は、HashtablesのベクトルをHashtablesで塗りつぶすことです。ベクトルは最後の項目のみで塗りつぶされます
Vector<Hashtable<String, String>> v = new Vector<Hashtable<String, String>>();
Hashtable<String,String> h = new Hashtable<String,String>();
while(cursor.moveToNext()) {
h.put("name", cursor.getString(0));
h.put("region", cursor.getString(1));
h.put("_id", cursor.getString(2));
v.addElement(h);
}
結果、最後でいっぱいベクトルです、私はカーソルを反復、そうカーソルがHashtableに見つけたものを入れて、そのようには次のように、ベクトルにハッシュテーブルを追加するには
カーソルがX要素を反復処理する場合、Vectorは最後に作成されたハッシュテーブルのX倍を持ちます。この1行が問題解決
追加:
Vector<Hashtable<String, String>> v = new Vector<Hashtable<String, String>>();
Hashtable<String,String> h = new Hashtable<String,String>();
while(cursor.moveToNext()) {
h = new Hashtable<String,String>(); // <--THIS LINE HERE
h.put("name", cursor.getString(0));
h.put("region", cursor.getString(1));
h.put("_id", cursor.getString(2));
v.addElement(h);
}
をしかし、私は完全に理由を理解していない...
はハッシュテーブルへのポインタを維持するベクトルは...?
ありがとうございます。