Si tiene un control para un objeto Spinner
en un activity
de Android, ¿puede abrir mediante programación las opciones de la ruleta, forzando al usuario a elegir una opción aunque no hayan hecho clic en el spinner
ellos mismos?Posible abrir programáticamente un Spinner en la aplicación de Android?
Respuesta
Para abrir el Spinner solo necesita llamar al método performClick().
Tenga en cuenta que solo puede llamar a este método desde el hilo de la interfaz de usuario. Si necesita abrir el Spinner desde un subproceso separado, debe crear un Handler en el subproceso de interfaz de usuario y luego, desde su segundo subproceso, enviar un objeto ejecutable que invoca performClick() al Manejador.
package com.example.SpinnerDemo;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.os.Handler;
public class SpinnerDemo extends Activity {
private Handler h;
private Spinner s;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
h = new Handler();
s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this,
R.array.planets, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
// Open the Spinner...
s.performClick();
// Spawn a thread that triggers the Spinner to open after 5 seconds...
new Thread(new Runnable() {
public void run() {
// DO NOT ATTEMPT TO DIRECTLY UPDATE THE UI HERE, IT WON'T WORK!
// YOU MUST POST THE WORK TO THE UI THREAD'S HANDLER
h.postDelayed(new Runnable() {
public void run() {
// Open the Spinner...
s.performClick();
}
}, 5000);
}
}).start();
}
}
los recursos utilizados por este ejemplo se pueden encontrar here.
Gracias. performClick() era lo que estaba buscando. Debería haber visto ese método en la ruleta, pero lo perdí debido a cierta confusión en mi extremo. ¡Muchas gracias! – JohnRock
¿Qué sucede si utilizo runOnUIThread para utilizar el hacer clic en un tema diferente? – Relsell
Funcionó antes de 5.0.2, parece estar roto en 5.0.2 (solo para algunos dispositivos), pero funciona de nuevo en 5.1 ... –
¿Por qué hay 2 ejecutables en el ejemplo anterior?
¿no será suficiente:
h.postDelayed(new Runnable() {
public void run() {
s.performClick();
}
}, 5000);
Creo que es solo una demostración para mostrar al manejador trabajando desde un hilo separado. –
Para mostrar los elementos Spinner
sólo tiene que llamar es performClick()
método.
Spinner spDeviceType = (Spinner) findViewById(R.id.spDeviceType);
spDeviceType.performClick();
simplemente utilizar este
yourspinner.performClick();
- 1. Android abrir cliente de correo electrónico programáticamente
- 2. Android Spinner selection
- 3. Android: Rellenar Spinner desde el código de Java programáticamente
- 4. Android spinner cerrar
- 5. Abrir PDF en la aplicación para Android
- 6. ¿Cómo puedo abrir/cerrar programáticamente las notificaciones en Android?
- 7. Android: Open Spinner desde el botón
- 8. desactivación de Spinner en Android
- 9. Android - configurar Spinner utilizar matriz
- 10. Android: cambiar programáticamente la etiqueta de la aplicación?
- 11. Android: dos Spinner onItemSelected()
- 12. Android: Disposición de Spinner personalizada
- 13. Android Spinner - onItemSelected/setOnItemSelectedListener no desencadenar
- 14. Necesito abrir programáticamente Bluetooth y descubrir dispositivos en Android
- 15. Android Spinner Ítem seleccionado
- 16. ¿es posible abrir la aplicación de configuración con OpenURL?
- 17. android spinner performClick onItemSelected
- 18. ¿Es posible crear imágenes programáticamente en Java, Android?
- 19. Android: Crear girador programáticamente desde el array
- 20. Abrir aplicación Android de notificación PUSH
- 21. Cómo abrir la Configuración del teléfono Android en un botón haga clic en nuestra aplicación Android
- 22. Cómo hacer un spinner de fecha en Android
- 23. Texto de medio corte en Spinner Android
- 24. Etiqueta de ajuste de Android a spinner
- 25. Cómo agregar título en Spinner en android
- 26. Abrir un archivo pdf programáticamente en un destino con nombre
- 27. cómo puedo configurar el icono de la aplicación programáticamente android
- 28. Abrir el navegador a la página web Aplicación de Android
- 29. Abrir programáticamente el menú de Ayuda Mac
- 30. ¿Cómo hacer una lista emergente como un spinner sin spinner en Android?
¿qué entendemos por u objeto spinner, u puede compartir imágenes simuladas de lo que quieres hacer – the100rabh