Страница 1 из 1
Получение значения Spinner
Добавлено: 03 ноя 2013, 23:18
Максим Янчий
При попытке получить значение spinner и завести в editText, появляется неизвестный текст
android.database.sqlite.SQLiteCursor@42168720.
Получаю значение так:
String rv = spinner.getSelectedItem().toString;
editText2.setText(rv);
Данные для Spinner беру из базы данных.
В чем может быть проблема?
Заранее спасибо за ответ!
Re: Получение значения Spinner
Добавлено: 04 ноя 2013, 00:13
rezak90
потому что getSelectedItem возвращает Object, тебе нужно вытаскивать с адаптера (переопределив метод getItem) или же вызвать метод getSelectedItemPosition или getSelectedItemId у Spinner получив позицию или id соответственно и потом по ним ты можешь вытянуть данные из адаптера/бд.
Re: Получение значения Spinner
Добавлено: 04 ноя 2013, 09:13
Максим Янчий
rezak90 писал(а):потому что getSelectedItem возвращает Object, тебе нужно вытаскивать с адаптера (переопределив метод getItem) или же вызвать метод getSelectedItemPosition или getSelectedItemId у Spinner получив позицию или id соответственно и потом по ним ты можешь вытянуть данные из адаптера/бд.
А как вытянуть данные из БД зная позицию?
Заранее спасибо за ответ!
Re: Получение значения Spinner
Добавлено: 04 ноя 2013, 11:07
rezak90
SELECT * FROM table_name WHERE _id = 10
Re: Получение значения Spinner
Добавлено: 04 ноя 2013, 13:31
Foenix
Максим Янчий писал(а):rezak90 писал(а):потому что getSelectedItem возвращает Object, тебе нужно вытаскивать с адаптера (переопределив метод getItem) или же вызвать метод getSelectedItemPosition или getSelectedItemId у Spinner получив позицию или id соответственно и потом по ним ты можешь вытянуть данные из адаптера/бд.
А как вытянуть данные из БД зная позицию?
Заранее спасибо за ответ!
ой-ой, смотря какие данные и зная какую позицию. Иной раз в базу лезть не нужно ,просто данные взять из того же самого курсора, по которому ты строил Spinner
Re: Получение значения Spinner
Добавлено: 04 ноя 2013, 21:21
Максим Янчий
rezak90 писал(а):SELECT * FROM table_name WHERE _id = 10
Спасибо большое!
Re: Получение значения Spinner
Добавлено: 04 ноя 2013, 21:22
Максим Янчий
Foenix писал(а):Максим Янчий писал(а):rezak90 писал(а):потому что getSelectedItem возвращает Object, тебе нужно вытаскивать с адаптера (переопределив метод getItem) или же вызвать метод getSelectedItemPosition или getSelectedItemId у Spinner получив позицию или id соответственно и потом по ним ты можешь вытянуть данные из адаптера/бд.
А как вытянуть данные из БД зная позицию?
Заранее спасибо за ответ!
ой-ой, смотря какие данные и зная какую позицию. Иной раз в базу лезть не нужно ,просто данные взять из того же самого курсора, по которому ты строил Spinner
Спасибо большое!
Re: Получение значения Spinner
Добавлено: 04 ноя 2013, 22:22
Foenix
очень просто
нужно организовать цикл по записям курсора, и в цикле сравнивать значение поля с нужным id. Если нашли - то бинго.
Код: Выделить всё
if (c.moveToFirst()) {
while (!c.isAfterLast()) {
if (c.getLong(c.getColumnIndex("_id")) == НУЖНЫЙ ID) {
//делаем что нужно
break;
}
c.moveToNext();
}
}
Re: Получение значения Spinner
Добавлено: 04 ноя 2013, 23:09
rezak90
ой Инна, ой как не стыдно предлагать такое? А если в курсоре сотня тысяч записей?!? Что, по всем будешь пробегаться? (смотри на мою аватарку

)
У курсора есть метод moveToPosition, позицию берём со спинера, перемещаем курсор в нужную позицию и достаём все нужные значения.
Re: Получение значения Spinner
Добавлено: 05 ноя 2013, 12:39
Foenix
вообще-то речь про id шла, это раз, во вторых, ты пробовал запихивать в спиннер столько тыщ записей, о которых говоришь?
ах да, вопрошающий стер свой вопрос, а я его не процитировала, поэтому так как ты не знаешь, что именно спросили, то я тебя прощаю за твое нелепое замечание.
Re: Получение значения Spinner
Добавлено: 05 ноя 2013, 12:43
rezak90
Foenix писал(а):вообще-то речь про id шла, это раз, во вторых, ты пробовал запихивать в спиннер столько тыщ записей, о которых говоришь?
ах да, вопрошающий стер свой вопрос, а я его не процитировала, поэтому так как ты не знаешь, что именно спросили, то я тебя прощаю за твое нелепое замечание.
и я тебя прощаю, но всегда буду помнить

Re: Получение значения Spinner
Добавлено: 05 ноя 2013, 12:45
Foenix
опять тебя и тут и там передают..
