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
ID на ресурса 0x1010081 не е от тип STYLE (вместо това attr) Подробностите за изключение се регистрират в Window > Show View > Error Log

Que: Как да поправя горната грешка?

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