我用自定义的“spinner”适配器来为Android应用程序中的颜色“spinner”进行颜色翻译。下拉框正常工作,但是一旦我从“spinner”中选择一种颜色(项目),它就不能被再次选择了。而且我不需要展示所选项已被选择。我只想识别所选的颜色而不显示它。
以下是我的“CustomSpinnerAdapter”的代码:
以下是我的“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>