Урок 56. Spinner – выпадающий список

Обсуждение уроков
Wa1deMar
Сообщения: 14
Зарегистрирован: 01 авг 2012, 11:19

Re: Урок 56. Spinner – выпадающий список

Сообщение Wa1deMar » 10 дек 2012, 11:30

подскажите как сделать чтобы в спиннере на самой кнопке был один текст, а в открывшемся списке другой? Если быть точнее то мне надо чтобы в списке были названия языков, а на самой кнопке их код (en, ru, ...)

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

Re: Урок 56. Spinner – выпадающий список

Сообщение Foenix » 12 янв 2013, 14:26

Скажите, а что представляет собой simple_spinner_item и simple_spinner_dropdown_item в этом уроке?
R.id.team

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

Аватара пользователя
Finch
Сообщения: 439
Зарегистрирован: 16 июл 2012, 21:37

Re: Урок 56. Spinner – выпадающий список

Сообщение Finch » 12 янв 2013, 16:42

android.R.layout.simple_spinner_item, android.R.layout.simple_spinner_dropdown_item - это лэйауты созданые гугловцами =) лежат они глубоко в ресурсах =)

Список всех лэйаутов http://developer.android.com/reference/ ... ayout.html
Тут ваще все http://developer.android.com/reference/android/R.html
CEO of a company R.id.team

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

Re: Урок 56. Spinner – выпадающий список

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

Спасибо!
R.id.team

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

Parfiry
Сообщения: 4
Зарегистрирован: 02 дек 2012, 15:17

Re: Урок 56. Spinner – выпадающий список

Сообщение Parfiry » 28 янв 2013, 20:32

Здравствуйте! Давно сижу на вашем проекте. Дошел вот до 56 урока. Отписываюсь, впервые. Поэтому хочется поблагодарить автора за гигантскую проделанную работу и просто потрясающий проект. Лучшее для новичков из того, на что я натыкался. Спасибо!
А теперь вопрос: подскажите, пожалуйста, почему абсолютно одинаково заданные спиннеры на эмуляторе выглядят по разному?
первый спиннер

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

		String sexString[] = {"male", "female"};
		
		ArrayAdapter<String> adapterspSex = new ArrayAdapter<String>(this, 
				android.R.layout.simple_spinner_item, sexString);
		adapterspSex.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		
		Spinner spSex = (Spinner) findViewById(R.id.spSex);
		spSex.setAdapter(adapterspSex);
		
		spSex.setPrompt("M/F");
второй спиннер

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

				String lookForString[] = {"male","female"};
								
				ArrayAdapter<String> adapterspLookFor = new ArrayAdapter<String>(this, 
						android.R.layout.simple_spinner_item, lookForString);
				adapterspAge.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
				
				Spinner spLookFor = (Spinner) findViewById(R.id.spLookFor);
				spLookFor.setAdapter(adapterspLookFor);
				
				spLookFor.setPrompt("Look for:");
В эмуляторы спиннеры выглядят вот так:
Изображение

и вот так:
Изображение

Нужно, чтобы оба спиннера выглядели как первый. В чем может быть проблема?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 56. Spinner – выпадающий список

Сообщение damager82 » 30 янв 2013, 15:28

Для adapterspLookFor не был вызван setDropDownViewResource.
У вас там ошибка копипаста )
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Parfiry
Сообщения: 4
Зарегистрирован: 02 дек 2012, 15:17

Re: Урок 56. Spinner – выпадающий список

Сообщение Parfiry » 30 янв 2013, 18:15

Да, все встало на место! Спасибо! Прощу прощения, за свою невнимательность.

beeline09
Сообщения: 33
Зарегистрирован: 23 сен 2012, 23:10

Re: Урок 56. Spinner – выпадающий список

Сообщение beeline09 » 12 мар 2013, 09:01

Скажите пожалуйста, а как можно отфильтровать данные попадающие в спинер, чтоб они не повторялись?
Заполняю спиннер так:

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

ArrayList<String> list = new ArrayList<String>();
Spinner date_arhiv = (Spinner) findViewById(R.id.spinner_chislo);
final Cursor c1 = db.query("Data", null, null, null, null, null, null);
c1.moveToFirst();
	if (c1.getCount() > 0) {
		while (true) {
                list.add(c1.getString(0).toString());
                                 }
                if (!c1.moveToNext())
		break;
			}
c1.close();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, list);
		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		date_arhiv.setAdapter(adapter);

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

Re: Урок 56. Spinner – выпадающий список

Сообщение Foenix » 12 мар 2013, 12:53

так нужно всписывать в запрос параметр DISTINCT
R.id.team

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

beeline09
Сообщения: 33
Зарегистрирован: 23 сен 2012, 23:10

Re: Урок 56. Spinner – выпадающий список

Сообщение beeline09 » 12 мар 2013, 13:17

Olivka писал(а):так нужно всписывать в запрос параметр DISTINCT
А можно по подробнее? Я не очень понимаю, что мне даст дистинкт... Мне нужно получить все строки из столбца data, но если некоторые из них совпадают с предыдущими, то отсеивать их....

UPD: Все. Понял. Спасибо большое! Работает.

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

Re: Урок 56. Spinner – выпадающий список

Сообщение Foenix » 12 мар 2013, 14:07

обычно ответ приходит в голову немного спустя как только его сформулируешь))
R.id.team

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

beeline09
Сообщения: 33
Зарегистрирован: 23 сен 2012, 23:10

Re: Урок 56. Spinner – выпадающий список

Сообщение beeline09 » 12 мар 2013, 14:14

Olivka писал(а):обычно ответ приходит в голову немного спустя как только его сформулируешь))
Эт точно )))) И причем это далеко не в первый раз...
Сейчас у меня другой вопрос возник, но кажется я уже знаю ответ ))))
У меня в столбце data выводится дата в строковом формате вида "26 Мая 1989 г.". Чтобы мне отсортировать дату, по видимому необходимо перед преобразованием даты телефона в формат "26 Мая 1989 г.", сложить день месяц и год в integer и добавить поле в таблицу, по которому все будет сортироваться? Это верное решение или есть еще лучше? :-)

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

Re: Урок 56. Spinner – выпадающий список

Сообщение Foenix » 12 мар 2013, 14:33

Не стоило вообще хранить дату в данном формате. В данный формат нужно приводить дату при выводе на экран (я делаю при помощи объекта Calendar).. А хранить в том виде, чтоб было легко сортировать, делать операции с датой.. В случае с sqlite даже не знаю.. я бы взяла формат например такой '20091231' Можно другой удобный, но уж точно не с наименованием месяца по-русски.
R.id.team

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

beeline09
Сообщения: 33
Зарегистрирован: 23 сен 2012, 23:10

Re: Урок 56. Spinner – выпадающий список

Сообщение beeline09 » 12 мар 2013, 14:44

Olivka писал(а):я бы взяла формат например такой '20091231' Можно другой удобный, но уж точно не с наименованием месяца по-русски.
Точно! Другого и не надо! А при вытаскивании из базы, преобразовывать в удобочитаемый String ))) Спасибо большое!

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

Re: Урок 56. Spinner – выпадающий список

Сообщение rezak90 » 12 мар 2013, 16:00

дату всегда надо смотреть в long в милисеках, преобразовывайте в милисеки и сортируйте просто числа и будет вам сортировка по датам, 3 строки дела
R.id.team
Политика на форуме запрещена

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

Re: Урок 56. Spinner – выпадающий список

Сообщение Foenix » 12 мар 2013, 16:40

Это тоже выход, просто если хранить в м-сек, то будет нечитаемо в базе для человека.
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: Урок 56. Spinner – выпадающий список

Сообщение rezak90 » 12 мар 2013, 20:37

Olivka писал(а):Это тоже выход, просто если хранить в м-сек, то будет нечитаемо в базе для человека.
зато универсально если нужно отображать в разных таймзонах/локалях
R.id.team
Политика на форуме запрещена

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

Re: Урок 56. Spinner – выпадающий список

Сообщение Foenix » 12 мар 2013, 22:15

Вообще-то не более универсально, чем я предложила
Можно еще вот так

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

 Cursor cursor = database.rawQuery(
         "SELECT item_id AS _id," +
         " (strftime('%s', added_on) * 1000) AS added_on," +
         " added_by, quantity, units" +
         " FROM current_list", new String[0]);
 long millis = cursor.getLong(cursor.getColumnIndexOrThrow("added_on"));
 Date addedOn = new Date(millis);
R.id.team

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

Alexander131700
Сообщения: 2
Зарегистрирован: 27 июн 2013, 01:37

Re: Урок 56. Spinner – выпадающий список

Сообщение Alexander131700 » 27 июн 2013, 01:48

Добрый день подскажите пожалуйста можно ли (если можно то оптимальный способ) сделать список из спиннеров?
Спасибо большое.

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

Re: Урок 56. Spinner – выпадающий список

Сообщение Foenix » 27 июн 2013, 09:19

в свою строку списка можно что угодно пихать, ты пропустил, это было в 54 уроке
Только практической ценности не вижу, лучше сделать список-дерево может?
R.id.team

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

Ответить