我值所有元素都通過最後一個元素中的HashMap的ArrayList更換
問Q-ID
Q1 1
Q2 2
...等等
我想通過調用函數來檢索它們。所以我用包含HashMap如下的ArrayList ..
public ArrayList<HashMap<String,String>> getAllQuestions(Integer id)
{
try
{
HashMap<String,String> QuesList = new HashMap<String,String>();
ArrayList<HashMap<String, String>> QuestionArrayList = new ArrayList<HashMap<String, String>>();
// Select All Query
String selectQuery = <some query here>;
cursor = mDb.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst())
{
do
{
QuesList.put("ques_id", cursor.getString(2));
QuesList.put("ques_text", cursor.getString(8));
QuestionArrayList.add(QuesList);
Log.i("ques",cursor.getString(8));
} while (cursor.moveToNext());
}
Log.i("check"," Ques list returned");
return QuestionArrayList;
}
catch (SQLException mSQLException)
{
Log.e(TAG, "getTestData >>"+ mSQLException.toString());
throw mSQLException;
}
}
現在的logcat顯示,所有問題都在的時候成功地檢索單獨的抓取(如圖中的Log.i聲明),但磨片我運行下面的最後循環所有的元素都被最後提取的問題所取代。任何幫助深表感謝。
for(HashMap<String, String> t : QuesList)
{
Log.d("out there", "count" + t.getString());
Log.i("mapping....",t.get("ques_id"));
}
雖然這是問題,但還有一個更基本的問題:首先不應該有一個列表。 – assylias
@assylias:我不會那麼肯定。這個問題沒有說明如何使用結果數據結構。也許消費API需要這種佈局。 –
@JanHudec這是一種可能性,但我認爲這是值得一提的情況下,它不是原因。 – assylias