Android spinner prompt texto que no se muestra

El primer año de la matriz de datos se muestra en lugar del texto de la solicitud en mi hiladora. Intenté agregar el aviso en XML, pero también intenté de código. Además, me da un "error de recurso no encontrado", al agregar el atributo spinnerSelector.

XML

<Spinner android:id="@+id/spinnerYear" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_marginLeft="10dip" android:layout_marginRight="10dip" android:drawSelectorOnTop="true" android:padding="5dip" android:prompt="@string/spinner_header" android:background="@drawable/selector_yearspinnerback" android:layout_below="@+id/linearLayout_gender_btns" android:layout_centerHorizontal="true"></Spinner> -- android:spinnerSelector="@drawable/category_arrow" 

Código

 ArrayList<String> yearList = new ArrayList<String>(); int now = new Date().getYear() + 1900; for (int i = now; i > now - 110; i--) { yearList.add(i + ""); } Spinner spinner = (Spinner) findViewById(R.id.spinnerYear); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, yearList); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); 

Para mí, tanto android: prompt XML attibute como Spinner.setPrompt, y el selector de listas muestra el título correcto.

Trate de encontrar errores en su código, o hacer una llamada a Spinner.getPrompt en algún momento e imprimir esto para iniciar sesión, para encontrar nuestro de donde obtiene título no válido.

Tal vez usted está viendo el hilandero desplegable elementos como lista sin ningún texto rápido. Hay dos modos en los que spinner muestra los elementos, el menú desplegable y el diálogo .

Agregue este atributo a su hilandero como un XML atrtribute:

 android:spinnerMode="dialog" 

Y ahora obtendrá los elementos en una lista de selección de diálogo emergente en lugar de la lista desplegable.

Tienes que configurar adapter.setDropDownViewResource (android.R.layout.simple_spinner_dropdown_item); después

 spinner.setAdapter(adapter); 

Así que el código fijo sería:

 ArrayList<String> yearList = new ArrayList<String>(); int now = new Date().getYear() + 1900; for (int i = now; i > now - 110; i--) { yearList.add(i + ""); } Spinner spinner = (Spinner) findViewById(R.id.spinnerYear); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, yearList); spinner.setAdapter(adapter); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

(Espero que funcione para usted como funciona para mí: D!)

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.