【发布时间】:2015-04-07 20:55:46
【问题描述】:
所以我目前能够在 ListView 中查看 SQLite 数据,但由于我的 DB 控制器中的 set 语句,它会带回所有记录。但我希望用户能够将值添加到 EditText 并使用该值查询数据库,然后将结果显示到 ListView 中。以下是我当前使用的两段代码,以防万一。任何帮助将不胜感激提前感谢!
在我的 MainActivity 中,我在 oncreate 中调用它来显示列表视图:
public void listRecs(){
ArrayList<HashMap<String, String>> scanList = this.controller.getAllRecsExpDESC();
myAdapter = new SimpleAdapter(this, scanList, R.layout.list_view_layout, new String[]{"regNo","streetName","recExpDate","tvPosition"},
new int[]{R.id.reg_No,R.id.street_Name,R.id.date_Time,R.id.tv_Position});
Recs.setAdapter(myAdapter);
}
这是来自我的数据库控制器的代码:
public ArrayList<HashMap<String, String>> getAllRecsExpDESC() {
ArrayList<HashMap<String, String>> wordList;
wordList = new ArrayList<HashMap<String, String>>();
String selectQuery = "SELECT * FROM recs ORDER BY recExpDate DESC";
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
HashMap<String, String> map = new HashMap<String, String>();
map.put("regNo", cursor.getString(0));
map.put("tvPosition", cursor.getString(1));
map.put("streetName", cursor.getString(2));
map.put("recExpDate", cursor.getString(3));
wordList.add(map);
} while (cursor.moveToNext());
}
database.close();
return wordList;
}
【问题讨论】:
标签: android sqlite listview android-listview