#android #arrays #cursor #spinner
#Android #массивы #курсор #счетчик
Вопрос:
Я хочу создать массив городов, которые хранятся в базе данных
Таблица городов
CREATE TABLE cities (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);
Запрос списка городов
// City List
public Cursor cityList() throws SQLException {
return db.query(TABLE_CITIES, new String[] {ID, KEY_NAME}, null, null, null, null, null, null);
}
Пытаюсь поместить содержимое в массив
Cursor cities = db.cityList();
startManagingCursor(cities);
String[] city_list = new String[] { DBAdapter.KEY_NAME };
Spinner cityList = (Spinner)this.findViewById(R.id.citySpiner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, city_list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cityList.setAdapter(adapter);
Я не могу заполнить счетчик.. с содержимым базы данных.
Комментарии:
1. привет, харша, ты получил какую-либо ошибку при выполнении этого… Также проверьте, есть ли в курсоре cities какое-либо содержимое..
2. dinash .. нет, у него нет. в нем просто было имя столбца : (
Ответ №1:
Попробуйте SimpleCursorAdapter
String[] from = new String[] { DBAdapter.KEY_NAME };
int[] to = new int[] {android.R.id.text1};
SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(context, android.R.layout.simple_spinner_dropdown_item , cursor, from, to);
cityList.setAdapter(cursorAdapter);
Редактировать:
from
означает столбец (ы) из Cursor
, который будет использоваться для отображения в виде текстового массива в Spinner
. to
означает идентификатор (ы) представления, в котором будет храниться значение этого столбца. Очень интересно, что представление с индексом N будет содержать текст из столбца с N.
Комментарии:
1. можете ли вы объяснить мне, что такое String from и int[] to?
2. Спасибо за объяснение, приятель 🙂 это немного сбивает с толку, но идею уловил 🙂