Получение значения Spinner

Интерфейс, диалоги, темы, стили, меню
Ответить
Максим Янчий
Сообщения: 77
Зарегистрирован: 21 июл 2013, 17:33

Получение значения Spinner

Сообщение Максим Янчий » 03 ноя 2013, 23:18

При попытке получить значение spinner и завести в editText, появляется неизвестный текст
android.database.sqlite.SQLiteCursor@42168720.
Получаю значение так:
String rv = spinner.getSelectedItem().toString;
editText2.setText(rv);
Данные для Spinner беру из базы данных.
В чем может быть проблема?
Заранее спасибо за ответ!

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Получение значения Spinner

Сообщение rezak90 » 04 ноя 2013, 00:13

потому что getSelectedItem возвращает Object, тебе нужно вытаскивать с адаптера (переопределив метод getItem) или же вызвать метод getSelectedItemPosition или getSelectedItemId у Spinner получив позицию или id соответственно и потом по ним ты можешь вытянуть данные из адаптера/бд.
R.id.team
Политика на форуме запрещена

Максим Янчий
Сообщения: 77
Зарегистрирован: 21 июл 2013, 17:33

Re: Получение значения Spinner

Сообщение Максим Янчий » 04 ноя 2013, 09:13

rezak90 писал(а):потому что getSelectedItem возвращает Object, тебе нужно вытаскивать с адаптера (переопределив метод getItem) или же вызвать метод getSelectedItemPosition или getSelectedItemId у Spinner получив позицию или id соответственно и потом по ним ты можешь вытянуть данные из адаптера/бд.
А как вытянуть данные из БД зная позицию?
Заранее спасибо за ответ!

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Получение значения Spinner

Сообщение rezak90 » 04 ноя 2013, 11:07

SELECT * FROM table_name WHERE _id = 10
R.id.team
Политика на форуме запрещена

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Получение значения Spinner

Сообщение Foenix » 04 ноя 2013, 13:31

Максим Янчий писал(а):
rezak90 писал(а):потому что getSelectedItem возвращает Object, тебе нужно вытаскивать с адаптера (переопределив метод getItem) или же вызвать метод getSelectedItemPosition или getSelectedItemId у Spinner получив позицию или id соответственно и потом по ним ты можешь вытянуть данные из адаптера/бд.
А как вытянуть данные из БД зная позицию?
Заранее спасибо за ответ!
ой-ой, смотря какие данные и зная какую позицию. Иной раз в базу лезть не нужно ,просто данные взять из того же самого курсора, по которому ты строил Spinner
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Максим Янчий
Сообщения: 77
Зарегистрирован: 21 июл 2013, 17:33

Re: Получение значения Spinner

Сообщение Максим Янчий » 04 ноя 2013, 21:21

rezak90 писал(а):SELECT * FROM table_name WHERE _id = 10
Спасибо большое!

Максим Янчий
Сообщения: 77
Зарегистрирован: 21 июл 2013, 17:33

Re: Получение значения Spinner

Сообщение Максим Янчий » 04 ноя 2013, 21:22

Foenix писал(а):
Максим Янчий писал(а):
rezak90 писал(а):потому что getSelectedItem возвращает Object, тебе нужно вытаскивать с адаптера (переопределив метод getItem) или же вызвать метод getSelectedItemPosition или getSelectedItemId у Spinner получив позицию или id соответственно и потом по ним ты можешь вытянуть данные из адаптера/бд.
А как вытянуть данные из БД зная позицию?
Заранее спасибо за ответ!
ой-ой, смотря какие данные и зная какую позицию. Иной раз в базу лезть не нужно ,просто данные взять из того же самого курсора, по которому ты строил Spinner
Спасибо большое!

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Получение значения Spinner

Сообщение Foenix » 04 ноя 2013, 22:22

очень просто
нужно организовать цикл по записям курсора, и в цикле сравнивать значение поля с нужным id. Если нашли - то бинго.

Код: Выделить всё

if (c.moveToFirst()) {
					while (!c.isAfterLast()) {
						if (c.getLong(c.getColumnIndex("_id")) == НУЖНЫЙ ID) {
							//делаем что нужно
							break;
						}
						c.moveToNext();
					}
				}
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Получение значения Spinner

Сообщение rezak90 » 04 ноя 2013, 23:09

ой Инна, ой как не стыдно предлагать такое? А если в курсоре сотня тысяч записей?!? Что, по всем будешь пробегаться? (смотри на мою аватарку ;) )
У курсора есть метод moveToPosition, позицию берём со спинера, перемещаем курсор в нужную позицию и достаём все нужные значения.
R.id.team
Политика на форуме запрещена

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Получение значения Spinner

Сообщение Foenix » 05 ноя 2013, 12:39

вообще-то речь про id шла, это раз, во вторых, ты пробовал запихивать в спиннер столько тыщ записей, о которых говоришь?

ах да, вопрошающий стер свой вопрос, а я его не процитировала, поэтому так как ты не знаешь, что именно спросили, то я тебя прощаю за твое нелепое замечание.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Получение значения Spinner

Сообщение rezak90 » 05 ноя 2013, 12:43

Foenix писал(а):вообще-то речь про id шла, это раз, во вторых, ты пробовал запихивать в спиннер столько тыщ записей, о которых говоришь?

ах да, вопрошающий стер свой вопрос, а я его не процитировала, поэтому так как ты не знаешь, что именно спросили, то я тебя прощаю за твое нелепое замечание.
и я тебя прощаю, но всегда буду помнить ;)
R.id.team
Политика на форуме запрещена

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Получение значения Spinner

Сообщение Foenix » 05 ноя 2013, 12:45

опять тебя и тут и там передают.. :-D
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ответить