【问题标题】:Items are not selectable in spinner (Custom Spinner Adapter)在微调器中无法选择项目(自定义微调器适配器)
【发布时间】:2015-05-15 21:00:18
【问题描述】:

我在 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;

    }

EDIT: 更多信息

微调器中的下拉列表无法选择。当我单击微调器时,它正在显示列表。但是当我从该列表中选择一项时,什么也没有发生。我无法识别所选项目。

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

我只需要识别选定的项目,我不需要像往常那样将它显示在微调器的顶部。这是我的 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 我的下拉列表不可选择。它将所有项目显示为列表,但我无法选择项目。这是我需要纠正的一件事。下一个通常是微调器在其顶部显示所选项目。我需要删除它。简单地说,我只需要获取选定的项目 id。
  • 我面临着类似的问题。你是怎么解决这个问题的?
  • 你的微调器布局在哪里?

标签: android android-layout android-spinner


【解决方案1】:

我在文本视图中添加了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"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多