En Android 1.6, al tocar una rueda giratoria (menú desplegable), aparecen los botones de radio junto a las opciones de la rueda giratoria. ¿Cómo elimino esos botones de opción para que solo quede el texto de la opción?Android Spinner - ¿Cómo eliminar los botones de opción?
Respuesta
Solo para quitar los botones de opción, no necesita su propia clase de adaptador.
Crear una dropdown_item.xml en la disposición
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee" />
continuación, active lo siguiente en el código.
arrayAdapter.setDropDownViewResource(R.layout.dropdown_item);
El elemento desplegable de girador predeterminado es un CheckedTextView que tiene el botón de opción. Aquí lo reemplaza con un TextView.
Si desea deshacerse de los botones de opción de la lista de referencias, debe proporcionar su propio diseño para la fila.
Tome una mirada en el siguiente ejemplo:
package com.ramps;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
public class MySpinner extends Activity {
//data that will be used as a spinner options
private static String data[] = {"one", "two", "three"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//main.xml file contains spinner
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
//create your own adapter
MySpinnerAdapter adapter = new MySpinnerAdapter(this,R.layout.custom_spinner_row,R.id.text, data);
//set your custom adapter
spinner.setAdapter(adapter);
}
private class MySpinnerAdapter extends ArrayAdapter{
public MySpinnerAdapter(Context context, int resource,
int textViewResourceId, String[] objects) {
super(context, resource, textViewResourceId, objects);
}
}
}
El diseño personalizado para la fila spinner es sólo un LinearLayout sencillo con un elemento de Vista de Texto, que id es "texto" (android: id = "@ + ID/text ")
Esto es solo un ejemplo simple. Si necesita un diseño más elegante que simplemente TextView, probablemente tenga que anular el método getView() de MySpinnerAdapter.
Usted puede utilizar el diseño androide
android.R.layout.simple_spinner_item
en lugar de
android.R.layout.simple_spinner_dropdown_item
pero recomiendo @kimkunjj respuesta, se le dará el control de la disposición.
"android.R.layout.simple_spinner_item" hace el trabajo,
programación es:
modeSpinner=new Spinner(layout.getContext());
ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(layout.getContext(),
android.R.layout.simple_spinner_item, Arrays.asList(modes));
arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
La forma "más limpia" de hacer esto (acaba de quitar la marca de verificación y no táctil anythinbg demás incluyendo el estilo del texto, tamaño del artículo, etc.) es la creación de adaptador personalizado (como en las respuestas anteriores):
public class SimpleSpinnerArrayAdapter extends ArrayAdapter<String> {
public SimpleSpinnerArrayAdapter(Context context, String[] data) {
super(context, android.R.layout.simple_spinner_item, data);
this.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
}
public SimpleSpinnerArrayAdapter(Context context, List<String> data) {
super(context, android.R.layout.simple_spinner_item, data);
this.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
}
/**
* Returns default dropdown view with removed checkbox
*/
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
if (view != null && view instanceof CheckedTextView) {
((CheckedTextView) view).setCheckMarkDrawable(null);
}
return view;
}
}
Tenga en cuenta la getDropDownView()
método que devuelve la vista para el elemento de la lista desplegable. Puede usar cualquier vista personalizada aquí, pero si desea seguir con la vista predeterminada, probablemente debería usar el código anterior.
Si ha incluido la biblioteca de soporte de android versión 18 o superior en su proyecto, puede reemplazar el id. De recurso simple_spinner_dropdown_item
con support_simple_spinner_dropdown_item
. Eso eliminará el botón de radio.
uso simple_dropdown_item_1line
- 1. ¿Cómo agregar la opción de búsqueda a Android Spinner?
- 2. Eliminar espacio entre botones en LinearLayout (Android)
- 3. ¿Poner los valores ENUM a android spinner?
- 4. Android AlertDialog que no muestra botones de opción o mensaje
- 5. rails, simple_form, ¿cómo actualizar los botones de opción con la opción seleccionada después de guardar?
- 6. ¿por qué mi spinner android muestra el botón de opción en la vista de texto?
- 7. Android: dos Spinner onItemSelected()
- 8. Etiqueta de ajuste de Android a spinner
- 9. Inhabilitación de los botones de opción con jQuery
- 10. Uso de "etiqueta para" en los botones de opción
- 11. ¿Cómo eliminar el borde alrededor de los botones?
- 12. ¿Cómo eliminar los botones de zoom en la vista web de Android?
- 13. carriles - Los botones de opción para la recolección establece
- 14. Android Spinner selection
- 15. Android Spinner Ítem seleccionado
- 16. Android: Disposición de Spinner personalizada
- 17. android spinner performClick onItemSelected
- 18. Android spinner cerrar
- 19. jQuery y grupos de botones de opción
- 20. lista de botones de opción asp.net mvc
- 21. agrupación de botones de opción asp.net
- 22. desactivación de Spinner en Android
- 23. Cómo sobrescribir OnClick en Android Spinner?
- 24. Cómo agregar título en Spinner en android
- 25. Android - configurar Spinner utilizar matriz
- 26. cómo crear spinner editable en android?
- 27. ¿Cómo usar setTextColor para los botones de radio de Android?
- 28. Eliminar espacio entre botones
- 29. Cómo recorrer una lista de botones de opción
- 30. Cómo asociar elementos de etiquetas con botones de opción
¡Bonito y simple! – Bruiser
Es 'android: id =" @ android: id/text1 "' opcional? – cprcrack