IBu*_*nny 6 android android-layout android-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;
}
Run Code Online (Sandbox Code Playgroud)
EDIT: 更多信息
我在spinner中的下拉列表无法选择.当我点击微调器时,它显示列表.但是当我从该列表中选择一个项目时,没有任何反应.我无法识别所选项目.
当我在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>
Run Code Online (Sandbox Code Playgroud)
Jit*_*iya 15
您需要android:descendantFocusability="blocksDescendants"在自定义的布局文件中添加Spinner或在每个视图中添加android:focusable="false".如果自定义中的任何视图Spinner具有focusable视图,则onitemclick无效.
我添加 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"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3620 次 |
| 最近记录: |