Я борюсь со списками Android и тем, как преобразовать их для использования в Spinner. Поместить массив строк в Spinner очень просто, поэтому я подумал, что сделать то же самое со списком будет также просто. Однако в настоящее время я не могу понять, как получить список в правильном формате для использования с ArrayAdapter Spinner.
Вот мой код для получения списка имен учетных записей из базы данных:
//---retrieves all the accounts matching the account_type---
public List getAccounts(String account_type) {
List<String> list = new ArrayList<String>();
Cursor cursor = this.db.query(DBACCOUNTS, new String[] {
ID,
ACCOUNTTYPE,
ACCOUNTNUMBER,
ACCOUNTNAME},
ACCOUNTTYPE + " = " + "'" + account_type + "'",
null,
null,
null,
null,
null);
if (cursor.moveToFirst()) {
do {
//---account_name column number is 3---
list.add(cursor.getString(3));
} while (cursor.moveToNext());
}
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
return list;
}
Что мне нужно сделать из возвращенного «списка», чтобы заполнить мой счетчик? Следующий код, очевидно, предназначен для массива строк, однако я не понимаю, что мне нужно сделать, чтобы список работал с аналогичной функциональностью. Вот мой неработающий код ArrayAdapter (account_name_array установлен как возвращаемый «список» сверху):
account_name_spinner = (Spinner) findViewById(R.id.account_name_spinner);
account_name_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, account_name_array);
account_name_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
account_name_spinner.setAdapter(account_name_adapter);
Я знаю, что здесь я далеко от пути, я знаю, что ArrayAdapter ожидает массив строк, однако, как я уже сказал, мне нужен хороший толчок в правильном направлении. Очевидно, мне нужно либо преобразовать мой список в массив строк, либо изменить способ адаптации Spinner к списку. Android было довольно сложно понять для меня, есть много структур данных и гораздо больше правил типов данных, чем я привык приходить из фона PHP.
Ваша помощь очень ценится!