Как видно из заголовка, у меня возникли небольшие проблемы с привязкой моих данных из базы данных к представлению списка, проблема в том, что адаптер установит только последнюю возвращенную строку, в отличие от каждой строки таблицы базы данных.
Пример того, чего я пытаюсь достичь:
ТАБЛИЦА ЖИВОТНЫХ: Monkey Cat Dog Tiger
будет отображаться как только Tiger на экране.
Мой метод возвращаетсякурсор из базы данных:
public Cursor retrieveAnimals(){
return = DB.query(ANIMAL_TABLE, new String[] {
KEY_ROWID,
KEY_ANIMALNAME,
},
null,
null,
null,
null,
null);
}
и настройка просмотра списка
dbm = new MyDBManager(this);
dbm.open();
dbm.deleteAnimals();
dbm.populateDB();
// after populating, set the adapter..
myCursor = dbm.getAllAnimals();
String[] columns = new String[] {"animal_name"};
int[] to = new int[] {R.id.animal};
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.row, myCursor, columns, to);
this.setListAdapter(mAdapter);
У меня есть ощущение, что моя проблема заключается в положении курсора, в том, что он автоматически перемещается в последнюю строку, когданастраивая адаптер, я пытался найти решение своей проблемы, но безуспешно.
Заранее благодарен за любые предложения.
РЕДАКТИРОВАТЬ: Метод для заполнения БД
public long populateDB(){
ContentValues initialValues = new ContentValues();
for(int i = 0; i < animalName.length; i++){
initialValues.put(KEY_ANIMALNAME, animalName[i]);
}
return DB.insert(ANIMAL_TABLE, null, initialValues);
}