android spinner не доступен для просмотра в версии выше 3.0?

Я использую собственный счетчик в своем приложении для Android, но счетчик не доступен для версии выше 3.0, и он отлично работает с версией ниже 3.0. пожалуйста, кто-нибудь скажите мне, почему это происходит.

введите здесь описание изображения

это мой основной spinner.xml

   <Spinner
                    android:id="@+id/bldngSpnrBldng"
                    android:layout_width="wrap_content"
                    android:layout_height="32dp"
                    android:layout_gravity="center_vertical"
                    android:layout_marginLeft="3dp"
                    android:layout_marginRight="2dp"
                    android:background="@drawable/spinner_selectors"
                    android:prompt="@string/select_building"
                    android:spinnerMode="dropdown" />

Вот что происходит, когда я открываю графический макет, а затем сталкиваюсь с исключением, например

Не удалось проанализировать файл ....\res\drawable\spinner_selector_selected.xml
Не удалось проанализировать файл ....\res\drawable\spinner_selectors.xml
Идентификатор ресурса 0x1010081 не относится к типу STYLE (вместо этого attr) Сведения об исключении записываются в меню «Окно» > «Показать представление» > «Журнал ошибок».

Вопрос: Как исправить указанную выше ошибку?

spinner_selector_selected.xml для линии границы и изображения счетчика в углу счетчика.

<?xml version="1.0" encoding="utf-8"?>

<item>
    <layer-list>
        <item>
            <shape>


                <stroke android:width="2dp" android:color="@color/gray" />

                <corners android:radius="4dp" />

                <padding 
                    android:bottom="3dp" 
                    android:left="3dp" 
                    android:right="3dp" 
                    android:top="3dp" />
                <solid android:color="@color/pressed_color"/>
            </shape>

        </item>

        <item>
            <bitmap 
                android:gravity="bottom|right" 
                android:src="@drawable/spinner_ab_default_new_theme_bs" />
        </item>
    </layer-list>

</item>

обновлено
Ниже приведен прослушиватель счетчика.

spinnerPhase.setOnItemSelectedListener((OnItemSelectedListener) 
            new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {

            ........

        }

Заранее спасибо


person nilesh wani    schedule 08.08.2013    source источник


Ответы (2)


Два пути решения проблемы

  1. Измените ваш spinnerMode на диалог, например android:spinnerMode="dialog "
  2. Заменить: android:spinnerMode="dropdown" на

    android:spinnerStyle="@android:style/Widget.Spinner.DropDown" 
    

Для второго подхода требуется API 11.

person AndroidGeek    schedule 04.05.2015

используйте интерфейс OnItemSelectedListener вместо прослушивателя кликов. он доступен в android.widget.AdapterView.OnItemSelectedListener. Импортируйте его и реализуйте его методы. Дополнительные сведения доступны на странице OnItemSelectedListener.

person Emmerson Bonnat    schedule 08.08.2013