android spinner在大于3.0的版本上无法点击?

时间:2013-08-08 09:21:13

标签: android android-layout android-spinner

我在我的Android应用程序中使用自定义微调器,但微调器不可点击 在大于3.0的版本上,它完全适用于版本低于 3.0。请有人告诉我为什么会这样。

enter image description here

这是我的主要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&gt;中记录了异常详细信息。显示视图&gt;错误日志

问:如何解决上述错误?

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) {

            ........

        }

先谢谢

2 个答案:

答案 0 :(得分:0)

使用OnItemSelectedListener接口而不是单击侦听器。 它在android.widget.AdapterView.OnItemSelectedListener下可用。导入它并实现其方法。 有关详细信息,请访问OnItemSelectedListener

答案 1 :(得分:0)

  

解决问题的两种方法

  1. 将您的spinnerMode更改为android:spinnerMode="dialog "
  2. 之类的对话框
  3. 将<{1}}替换为

    android:spinnerMode="dropdown"
  4. 第二种方法需要API 11