【发布时间】:2014-03-08 02:04:20
【问题描述】:
我正在使用 ArrayList> 将数据插入 SQLite 数据库。我只想使用简单的适配器将唯一值检索到列表视图中。我使用相同的键来插入值。我怎样才能在列表视图中只获取不同的值? 这是我的代码..
Databasehandler.java
public void insertAnimal(HashMap<String, String> queryValues) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("animalName", queryValues.get("animalName"));
database.insert("animals", null, values);
database.close();
}
public ArrayList<HashMap<String, String>> getAllAnimals() {
ArrayList<HashMap<String, String>> wordList;
wordList = new ArrayList<HashMap<String, String>>();
String selectQuery = "SELECT * FROM animals";
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
HashMap<String, String> map = new HashMap<String, String>();
map.put("animalId", cursor.getString(0));
map.put("animalName", cursor.getString(1));
wordList.add(map);
} while (cursor.moveToNext());
}
return wordList;
}
这是我的 MainActivity.java
DBController controller = new DBController(this);
ArrayList<HashMap<String, String>> animalList = controller.getAllAnimals();
if(animalList.size()!=0) {
ListView lv = getListView();
ListAdapter adapter = new SimpleAdapter( MainActivity.this,animalList, R.layout.view_animal_entry, new String[] { "animalId","animalName"}, new int[] {R.id.animalId, R.id.animalName});
setListAdapter(adapter);
【问题讨论】:
标签: android sqlite arraylist hashmap