Я борюсь со списками 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-фона.
Ваша помощь очень ценится!