Как я должен использовать .setAdapter здесь? / Как обойти, не расширяя ListActivity? - PullRequest
0 голосов
/ 01 декабря 2010

У меня есть класс, который уже расширяет TabActivity, поэтому я не могу расширить ListActivity.

Это не будет проблемой, пока мне не понадобится использовать этот метод:

private static int[] TO = { R.id.catItem, R.id.budgetAmount, };
private void showBudgetOutcome(Cursor cursor) {
//Set up data binding 
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this, R.layout.itemsforbudgetlist, cursor, FROM, TO);
setListAdapter(adapter);

}

Очевидно, setListAdapter не определен.Теперь я нашел этот фрагмент поиска кода SO

mListView.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));

Но я не совсем понимаю параметры.Я попытался изменить его в соответствии со мной:

incomeView.setAdapter(new SimpleCursorAdapter<String>(this, R.layout.itemsforbudgetlist, adapter??));

Я вижу, что mListView - это просто ListView пользователей, поэтому я заменил его, и я предполагаю, что ресурс макета определяет, как выглядит каждый элемент списка.Но в остальном я не уверен.Я думаю, может быть, я хочу Simple / CursorAdapter, так как я работаю с sqlite (см. Мой метод)?но я понятия не имею, что такое СТРАНА, и не знаю, какой тип данных мне нужен (предположительно строка, но что я знаю).Так что, если бы кто-то мог прояснить для меня вещи и сказать мне, как использовать это с моим методом выше, я был бы очень благодарен!

1 Ответ

0 голосов
/ 01 декабря 2010

Если вы хотите получить свои данные из базы данных, вам нужно создать подкласс CursorAdapter.Тогда вы можете просто позвонить:

incomeView.setAdapter(new MyCursorAdapter(WhatEver arguments, You need));
...