设置微调器样式会取消onItemSelectListener设置。

时间:2014-04-03 17:19:43

标签: android android-spinner listeners event-listener

按照上一个问题,我在其他几个问题中看到过,我在我的Android应用程序上为我的微调器设置了一种新的服装风格。我使用

设置了微调器
ArrayAdapter<String> out = new ArrayAdapter<String>(this,
            R.layout.spinner_style,toPut);

使用spinner_style

<?xml version="1.0" encoding="utf-8"?>
<TextView  
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:textSize="25dp" />

对于听众,我使用

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
         public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int sort, long arg3) {
                    raceChanged();

            }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });

我从onCreate调用的函数调用。问题是,现在,当在微调器中点击一个项目时,没有任何反应。如果我将样式切换回android.R.layout.simple_spinner_item。一切正常。如何设置我的服装微调器以使用监听器?

1 个答案:

答案 0 :(得分:0)

好吧,我发现了一个丑陋的解决方案。我不知道它为什么会起作用,但事实确实如此。我浏览了sdk,找到了simple_spinner_item.xml文件,并将微调器定义复制到我自己的样式并添加了textSize行。

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

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:textSize="25dp"
    android:textAlignment="inherit"/>

如果有人指出适当的行,我将不胜感激。