Страница 5 из 6

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

Добавлено: 05 дек 2013, 22:49
Foenix
ты тупишь в том, что так выкладывать код ..

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

Добавлено: 27 дек 2013, 18:59
DVL999
Такой вопрос: изначально выпадающий список привязан по размеру к спиннеру, т.е. верхний левый угол списка привязан к нижнему левому углу спиннера, а верхний правый угол - к нижнему правому углу спиннера (по аналогии с android:layout_alignLeft / Right)
Но если установить в Манифесте к примеру
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
, то выпадающий список больше не привязывается к спиннеру и располагается в центре экрана... Так вот: можно ли его прикрепить обратно к спиннеру?

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

Добавлено: 15 май 2014, 13:44
Kordan
1.У меня ошибка в том, что нет поля R.id.spinner, а создать я его не могу т.к. ручное изменение R запрещено. Что делать?

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

Добавлено: 16 май 2014, 08:26
klblk
Kordan писал(а):1.У меня ошибка в том, что нет поля R.id.spinner, а создать я его не могу т.к. ручное изменение R запрещено. Что делать?
Прописать id у спинера в xml? Если не помогает, то может ошибка в xml файлe, либо достаточно сделать project->clean

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

Добавлено: 20 май 2014, 18:22
Kordan
klblk писал(а):
Kordan писал(а):1.У меня ошибка в том, что нет поля R.id.spinner, а создать я его не могу т.к. ручное изменение R запрещено. Что делать?
Прописать id у спинера в xml? Если не помогает, то может ошибка в xml файлe, либо достаточно сделать project->clean

Разобрался с этим, поместив вручную компонент на main.
П.С. А как обратиться в определённому элементу? Допустим нажимаю на 1(0) и он выводит "Hello", на 2(1) и выводит "World"?

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

Добавлено: 21 май 2014, 07:37
klblk
Kordan писал(а):
klblk писал(а):
Kordan писал(а):1.У меня ошибка в том, что нет поля R.id.spinner, а создать я его не могу т.к. ручное изменение R запрещено. Что делать?
Прописать id у спинера в xml? Если не помогает, то может ошибка в xml файлe, либо достаточно сделать project->clean

Разобрался с этим, поместив вручную компонент на main.
П.С. А как обратиться в определённому элементу? Допустим нажимаю на 1(0) и он выводит "Hello", на 2(1) и выводит "World"?
не понятен вопрос. В OnItemSelectedListener обрабатываются события. В уроке выводится Toast с номером позиции выбранного элемента, что мешает там вывести и "Hello" и "World".
Или нужно что-то другое?

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

Добавлено: 21 май 2014, 07:56
Kordan
klblk писал(а): не понятен вопрос. В OnItemSelectedListener обрабатываются события. В уроке выводится Toast с номером позиции выбранного элемента, что мешает там вывести и "Hello" и "World".
Или нужно что-то другое?
Решил проблему с помощью

switch(position)
{
case 0:
break;
...
}

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

Добавлено: 17 июн 2014, 14:27
EspanaMia
Подскажите, как скрыть item в списке spinner`а, который в данный момент выбран ?

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

Добавлено: 16 фев 2015, 08:31
Салта
Добрый день! Подскажите пожалуйста. В ресурсах созданы все необходимые массивы по заполнению списка спиннера, первый спиннер заполняется одним массивом, а второй должен через Switch case на выбор заполнять второй список массивом нужным. То есть два зависимых спиннера. Подскажите пожалуйста как во втором спиннере прописать чтобы в свитче выбиралась позиция первого списка? не получается у меня(

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

Добавлено: 11 май 2015, 12:27
Radgalf
Здравствуйте. Подскажите, пожалуйста. Как настроить spinner таким образом что бы он выдавал элементы по введенным буквам. Т.е. ввели Пе, список перешел и показал все слова начинающиеня так же (Петров, Петя, Переход и т.п.). Или это уже не spinner? Просто в списке из 1000 элементов эту штука очень нужна.

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

Добавлено: 11 май 2015, 13:23
doter.ua
Radgalf писал(а):Здравствуйте. Подскажите, пожалуйста. Как настроить spinner таким образом что бы он выдавал элементы по введенным буквам. Т.е. ввели Пе, список перешел и показал все слова начинающиеня так же (Петров, Петя, Переход и т.п.). Или это уже не spinner? Просто в списке из 1000 элементов эту штука очень нужна.
.addTextChangedListener(new TextWatcher() { ... обновление спиннера

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

Добавлено: 13 июл 2015, 13:51
K_Vladimir
Добрый день!
Сделал всё точно по уроку. А Title в приложении не хочет появляться???
Видимо почему-то не работает метод spinner.setPrompt("Title");

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

import android.app.Activity;
import android.os.Bundle;

import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;


public class MainActivity extends Activity {

String[] data = {"one", "two", "three", "four", "five"};
// public Spinner spinner;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// адаптер
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(adapter);
// заголовок
spinner.setPrompt("Title");
// выделяем элемент
spinner.setSelection(2);
// устанавливаем обработчик нажатия
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// показываем позиция нажатого элемента
Toast.makeText(getBaseContext(), "Position = " + position, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
}

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

Добавлено: 08 авг 2015, 23:12
Light310
Здравствуйте.
Столкнулся с крайне странным багом, решения в интернете не нашёл (надо сказать, что и подобных баг-репортов тоже, что кажется мне ещё более странным). Делаю спиннер в фрагменте, от урока почти не отличается.

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

String[] spinner_data = {"1","2","3","4","5"};
...
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_spinner_item, spinner_data);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Spinner spinner = (Spinner) v.findViewById(R.id.spnGamesPerMatch);
spinner.setAdapter(adapter);
В xml'ке стилей у спиннера никаких нет,
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spnGamesPerMatch" />

Тем не менее, насколько я понимаю, он не резолвит android.R.layout шаблоны для элементов списка. При этом ошибки никакой не выдаёт, но выглядит этот ниспадающий список следующим образом:
Изображение
Т.е. данные в нём есть (он нормально обрабатывает клик, и это видно при нажатии - правый скриншот), но внешний вид из стандартных android.R.layout файлов он не подтянул. Я посмотрел декларацию этих файлов - android.R.layout.simple_spinner_item - там код, соответствующий описанию на андроидовском сайте, т.е. физически у меня все они присутствуют.
Не подскажете, в чём ещё может быть проблема? Куда копать? В интернете даже аналогичных баг-репортов не нашёл.
Буду благодарен за помощь.

P.S.: Работаю в Android Studio.

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

Добавлено: 10 авг 2015, 07:51
klblk
Что-то мне подсказывает что все нормально работает, просто белое на белом сложно увидеть. Проблема где-то в стилях судя по всему.

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

Добавлено: 11 авг 2015, 01:32
Light310
klblk писал(а):Что-то мне подсказывает что все нормально работает, просто белое на белом сложно увидеть. Проблема где-то в стилях судя по всему.
Да, у меня мысли схожие. Пробовал и в Eclipse, и в AS, результат одинаков. Если пройти к определению (go to Declaration) элемента simple_spinner_item, то там используется стиль style="?android:attr/spinnerItemStyle" , а вот его определение я уже не могу найти и не знаю, как это делается. Вернее, нахожу <attr name="spinnerItemStyle" format="reference" />, но не знаю, как понять содержимое данного стиля, не очень в этом вопросе просвещён.

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

Добавлено: 11 авг 2015, 07:47
klblk
Light310 писал(а):
klblk писал(а):Что-то мне подсказывает что все нормально работает, просто белое на белом сложно увидеть. Проблема где-то в стилях судя по всему.
Да, у меня мысли схожие. Пробовал и в Eclipse, и в AS, результат одинаков. Если пройти к определению (go to Declaration) элемента simple_spinner_item, то там используется стиль style="?android:attr/spinnerItemStyle" , а вот его определение я уже не могу найти и не знаю, как это делается. Вернее, нахожу <attr name="spinnerItemStyle" format="reference" />, но не знаю, как понять содержимое данного стиля, не очень в этом вопросе просвещён.
Ну самый простой способ, чтобы не разбираться со стилями, скопировать simple_spinner_item и simple_spinner_dropdown_item указать в них свои цвета для текста, и адаптеру скормить уже их.

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

Добавлено: 11 авг 2015, 22:06
Light310
klblk писал(а): Ну самый простой способ, чтобы не разбираться со стилями, скопировать simple_spinner_item и simple_spinner_dropdown_item указать в них свои цвета для текста, и адаптеру скормить уже их.
Цвета я и сам могу проставить (собственно, как я сейчас и сделал - создал свои собственные элементы для отображения и скормил их адаптеру), просто в этом стиле ведь не только цвета, там много чего сделано, чтобы элемент выглядел красиво и закончено, и мне его и другие стандартные стили хотелось бы использовать. Вот и ищу, может, кто сталкивался с подобной проблемой, что встроенные стили не срабатывают, потому что на sof подобных баг-репортов на нашёл, как и на других ресурсах.

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

Добавлено: 22 янв 2016, 15:19
Вовчик
Добрый день. Столкнулся с такой проблемой, создал Spinner и SearchView, поместил их в тулбар,поставил им атрибуты app:showAsAction="ifRoom|collapseActionView", если кликнуть на значок спиннера, он открывается на весь тулбар, и закрывается стрелкой назад, то же самое с searchView, но вот если сначала открыть один,а потом не закрывая его открыть другой, то они наслаиваются друг на друга и потом не пропадают вообще.. Подскажите, как решить эту проблему. Заранее спасибо!

Код сеню:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
>

<item
android:id="@+id/item_search"
android:title="@android:string/search_go"
android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
app:showAsAction="ifRoom|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" />

<item
android:id="@+id/action_sort"
app:actionViewClass="android.widget.Spinner"
app:showAsAction="ifRoom|collapseActionView"
android:icon="@drawable/ic_sort_white_24dp"
android:title="@string/sort"/>
</menu>

Код активити:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.item_search, menu);

MenuItem searchItem = menu.findItem(R.id.item_search);
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setQueryHint(getResources().getString(R.string.search));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}

@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});


MenuItem mainMenuSpinner = menu.findItem(R.id.action_sort);
spinner = (Spinner) MenuItemCompat.getActionView(mainMenuSpinner);
MySpinnerAdapter spinnerAdapter = new MySpinnerAdapter(this, spinnerArrayList);

spinner.setAdapter(spinnerAdapter);
spinnerAdapter.setDropDownViewResource(R.layout.spinner_dropdown_view);

return true;
}

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

Добавлено: 06 авг 2016, 14:32
bonny
Как в AlertDialog сделать его?
AlertDialog вызываю через fab.

LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.dialog_layout, null);

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Заголовок");
builder.setView(dialoglayout);
builder.setPositiveButton("ОК", myClickListener);
builder.setNegativeButton("Отмена", null);
builder.show();

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, new String[] {"0","1","2"});
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

// Выпадающий список
Spinner spinnerQ = (Spinner) findViewById(R.id.spinnerQuality);
spinnerQ.setAdapter(adapter);
spinnerQ.setSelection(0); // Выделяем элемент по-умолчанию

ОШИБКА на строке spinnerQ.setAdapter(adapter);
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference
at ru.bonny.savevideo.MainActivity$override.showAlertDialog(MainActivity.java:96)

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

Добавлено: 07 авг 2016, 14:32
Foenix
у тебя наверное spinnerQ = null, т.е. не найден spinnerQuality на dialog_layout