Los artículos no se pueden seleccionar en el hilandero (Adaptador Spinner personalizado)
Utilicé el adaptador del spinner
encargo para el spinner
color en la aplicación androide. El menú desplegable está funcionando bien. Pero una vez que selecciono un color (elemento) de spinner, no es seleccionable. También no necesito mostrar el artículo seleccionado mientras que se selecciona. Sólo quiero identificar el color seleccionado sin mostrarlo.
A continuación se muestra el código para mi CustomSpinnerAdapter:
- Error en Spinner en una ventana emergente, se bloquea cuando se hace clic
- Adaptador de spinner personalizado simple_spinner_dropdown_item no se muestra correctamente
- Android Spinner OnItemSelected no se llama con el mismo elemento
- Vista de datos de Android Spinner que no se actualiza en el elemento re-seleccionado
- ¿Cómo puedo conservar el estado de un elemento giratorio / desplegable seleccionado en el cambio de orientación?
@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:
MÁS INFORMACIÓN
Mi lista desplegable en el hilandero no es seleccionable. Cuando hice clic en la ruleta que está mostrando la lista. Pero cuando selecciono un elemento de esa lista, no pasa nada. No puedo identificar el elemento seleccionado.
Cuando getView(int position, View convertView, ViewGroup parent)
la posición dentro del getView(int position, View convertView, ViewGroup parent)
, imprime todos los ids de los ítems.
Necesito solamente identificar el artículo seleccionado y no necesito exhibirlo en la tapa del hilandero como lo hace generalmente. Este es mi 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>
- Cómo agregar un elemento desplegable en la barra de acción
- Spinner onItemSelected no se llama usando Marsmallow
- Agregar OnItemSelectedListener a Spinner
- Android - ProgressBar setVisibility to GONE no funciona
- Obtener la posición de un spinner en Android
- Cómo personalizar un Spinner en Android
- ¿Cómo agregar un spinner a un subtítulo - como en la aplicación Play Music para Android?
- Android Appcompat v21 - utilizar el estilo antiguo del hilandero
Necesitas agregar android:descendantFocusability="blocksDescendants"
en tu archivo de diseño del Spinner
personalizado o en cada una de las vistas agrega android:focusable="false"
. Si cualquiera de la vista en Spinner
personalizado tiene vista onitemclick
entonces onitemclick
no funciona.
He añadido style="?android:attr/spinnerItemStyle"
a la textview y funciona. No estoy seguro de que las mejores soluciones, pero es un comienzo y una solución rápida.
<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"/>
- Confundido entre syncAdapter, servicios, cargadores, proveedores y asynctask?
- CoordinatorLayout, AppBarLayout y ToolBar – Barra de herramientas no se desplaza fuera de la pantalla