嗨,我只想更好地瞭解如何使用它。由於我在做自定義listView時使用這種方法,所以現在我想應用它,因爲我喜歡這個方法,但我不知道該怎麼做。無論如何,我有一個數據庫查詢,我從SQLite數據庫中的搜索查詢中獲得所有結果。現在我確定了我的查詢的內容,因爲我已經對它進行了測試,但是當我顯示它時,結果總是返回與查詢的最後一行相同的輸出。爲了更好地理解這裏是我的代碼:獲取ArrayList <HashMap <String,String >>的值用於顯示
public ArrayList<HashMap<String,String>> getList(String search_param){
SQLiteDatabase db = this.getWritableDatabase();
ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
HashMap<String,String> hashmap = new HashMap<String,String>();
String query_select = "SELECT column1, column2 FROM tablename WHERE column2 LIKE '%"+ search_param +"%';";
Cursor cursor = db.rawQuery(query_select,null);
if (cursor.moveToFirst()) {
do {
item_list.put("column1", cursor.getString(0));
item_list.put("column2",cursor.getString(1));
list.add(hashmap);
} while (cursor.moveToNext());
}
cursor.close();
return list;
}
現在取回這裏的名單是我試過到目前爲止:
ArrayList<HashMap<String,String>> new_list;
DatabaseClass db = new DatabaseClass(getActivity());
new_list = db.getList("");
for(int i=0;i<new_list.size();i++){
HashMap<String,String> content = new HashMap<String, String>();
content = new_list.get(i);
Log.v("The hashmap",content.get("column1").toString());
Log.v("The hashmap",content.get("column2").toString());
}
現在我的數據庫的內容應該是1,2,3的列1和TEST1 ,test2,test3 for column2。但我從結果得到的是3,3,3和TEST3,TEST3,TEST3
我也想這樣做 newlist.get(i).get("column1").toString;
的方法,但它甚至不解決問題。
關於我該怎麼做的任何想法?
非常感謝這個! :D – KaHeL