选项在自定义Spinner适配器中无法选择。

6
我用自定义的“spinner”适配器来为Android应用程序中的颜色“spinner”进行颜色翻译。下拉框正常工作,但是一旦我从“spinner”中选择一种颜色(项目),它就不能被再次选择了。而且我不需要展示所选项已被选择。我只想识别所选的颜色而不显示它。
以下是我的“CustomSpinnerAdapter”的代码:
@Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        TextView rowView=null;
        if(convertView == null){
            convertView=inflater.inflate(R.layout.spinner_layout, null);
        }
        rowView=(TextView) convertView.findViewById(R.id.spinnerColorview);
        rowView.setBackgroundColor(Color.parseColor(itemList.get(position)));

        return convertView;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        TextView rowView=null;
        if(convertView == null){
            convertView=inflater.inflate(R.layout.spinner_layout, null);
        }
        rowView=(TextView) convertView.findViewById(R.id.spinnerColorview);
        rowView.setBackgroundColor(Color.parseColor(itemList.get(position)));

        return convertView;

    }

编辑:更多信息

我的下拉列表在spinner中不可选。当我点击spinner时,它会显示列表。但是当我从列表中选择一个项目时,什么都没有发生。我无法确定选择的项目。

当我在getView(int position, View convertView, ViewGroup parent)方法中打印位置时,它会打印出所有项目ID。

我只需要确定所选项目,而不需要像通常那样将其显示在spinner的顶部。这是我的spinner_layout.xml文件。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:clickable="true"
    android:orientation="horizontal"
    android:paddingLeft="40dp"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/spinnerColorview"
        android:layout_width="200px"
        android:layout_height="50px"
        android:clickable="true"
        android:gravity="center_vertical"
         >
    </TextView>
</LinearLayout>

你想要什么不清楚? - keshav
@keshav 我的下拉菜单无法选择。它以列表形式显示所有项目,但我无法选择项目。这是我需要纠正的一件事。接下来,在通常情况下,微调控件会在顶部显示选定的项目。我需要去除它。简单地说,我只需要获取所选项目的ID。 - IBunny
我遇到了一个类似的问题,你是怎么解决的? - Srikanth
你的旋转布局在哪里? - Rizwan Ahmed
1个回答

1
我在TextView中添加了style="?android:attr/spinnerItemStyle",它可以正常工作。不确定这是最佳解决方案,但这是一个开始和快速修复。
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
      style="?android:attr/spinnerItemStyle"
      android:id="@+id/TextView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:padding="8dp"
      android:ellipsize="end"
      android:gravity="left|center"
      android:singleLine="true"
      android:text="Option One"
      android:textColor="@color/Petrol"
      android:textSize="@dimen/font_size_big"
      android:textStyle="bold"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接