【发布时间】: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