В моем методе onCreate я вызываю другие методы, а именно fillData() и fillImages. Что делает fillData, оно заполняет строку в Listview с текстом, fillImages помещает изображение в строку. Все идет нормально. Очевидно, когда я ТОЛЬКО вызываю fillData в моем методе onCreate, появляется только текст. То же самое происходит, когда я просто вызываю fillImages.Почему мой SimpleCursorAdapter переопределяет мой другой SimpleCursorAdapter?
Проблема заключается в том, что я вызываю оба из них только содержание метода, который я назвал последним. Пример: Когда я называю это:
@Override
public void onCreate() {
//Here is some content left away that is not important.
fillData();
fillImages()
}
я получаю только содержание fillImages (метод).
Что я делаю неправильно? Ниже вы найдете код для моих методов onCreate(), fillData() и fillImages().
ОБНОВЛЕНИЕ: КАК Я РЕШЯ ЭТУ ПРОБЛЕМУ ???
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reminder_list);
mDbHelper = new RemindersDbAdapter(this);
mImageHelper = new ImageAdapter(this);
mDbHelper.open();
mImageHelper.open();
fillData();
fillImages();
registerForContextMenu(getListView());
}
//
// Fills the ListView with the data from the SQLite Database.
//
private void fillData() {
Cursor remindersCursor = mDbHelper.fetchAllReminders();
startManagingCursor(remindersCursor);
// Creates an array with the task title.
String[] from = new String[] {RemindersDbAdapter.KEY_TITLE, RemindersDbAdapter.KEY_BODY};
// Creates an array for the text.
int[] to = new int[] {R.id.text1, R.id.text2};
// SimpleCursorAdapter which is displayed.
SimpleCursorAdapter reminders = new SimpleCursorAdapter(this, R.layout.reminder_row, remindersCursor, from, to);
setListAdapter(reminders);
}
//
// Fills the ListView with the images from the SQLite Database.
//
private void fillImages() {
Cursor imageCursor = mImageHelper.fetchAllImages();
startManagingCursor(imageCursor);
// Creates an array with the image path.
String[] fromImage = new String[] {ImageAdapter.KEY_IMAGE};
// Creates an array for the text.
int[] toImage = new int[] {R.id.icon};
// SimpleCursorAdapter which is displayed.
SimpleCursorAdapter images = new SimpleCursorAdapter(this, R.layout.reminder_row, imageCursor, fromImage, toImage);
setListAdapter(images);
}
Как реализованы ваши ряды? Когда вы устанавливаете адаптер списка на изображения, он больше не настроен на напоминания (а на изображениях нет данных напоминания, очевидно, поэтому нет текста) – matt5784
Являются ли изображения и текст хранятся в разных таблицах в вашей базе данных? – Ole
Да, они хранятся в отдельных базах данных. Любые идеи решения? – user1420042