Cómo simular un clic de botón con el código?
¿Cómo puedo activar un evento de clic de botón utilizando código en Android? Quiero activar el botón haga clic en programación cuando se produce algún otro evento.
El mismo problema que estoy enfrentando
- Iniciar nueva actividad desde ListFragment utilizando onListItemClick ()
- Phonegap 2.4.0 con Android 4.2 - comportamiento de doble clic extraño
- No se pudo encontrar un método onClick_Foo (Ver) - la primera vez que se ejecuta en Android Lollipop
- Protección contra el spam onclick ()
- Cómo obtener el identificador de elemento en un controlador onItemClick
public void onDateSelectedButtonClick(View v){ /*Something Alarm Management http://www.java2s.com/Code/Android/Core-Class/Alarmdemo.htm copied code from this site*/ }
Código del botón:
<Button android:onClick="onDateSelectedButtonClick" android:text="Set notification for this date" />
Pero quiero llamar a esa función OnLoadLayout sin OnClickEvent
- Android: Cambiar el fondo del botón en ListView Row con onClick
- ¿Por qué OnClickListener en un ViewHolder no funciona?
- Html onclick disparando dos veces en Android
- Android: ¿Cómo llamar a onTouch sólo después de un onLongClick?
- Android: ¿Cómo vas a otra actividad al hacer clic?
- Usando onClick en TextView con texto seleccionable - cómo evitar doble clic?
- Ocultar / mostrar MenuItem en el clic de la barra de acción android
- ListView expandir animación para elementos sólo funciona después del segundo clic
Hay una mejor manera.
View.performClick();
http://developer.android.com/reference/android/view/View.html#performClick ()
Esto debe responder a todos sus problemas. Cada vista hereda esta función, incluyendo el botón, el hilandero, el etc.
Sólo para aclarar lo que moonlightcheese declaró: Para activar un evento de clic de botón a través de código en Android, proporcione lo siguiente:
buttonName.performClick();
Puedes hacerlo de esta manera
private Button btn; btn = (Button)findViewById(R.id.button2); btn.performClick();
callOnClick()
de Android callOnClick()
( añadido en la API 15 ) a veces puede ser una mejor opción en mi experiencia que performClick()
. Si un usuario tiene habilitados los sonidos de selección, entonces performClick()
podría hacer que el usuario escuche dos sonidos de selección continua que están un poco superpuestos entre sí, lo que puede ser un chasquido. (Un sonido de selección para el primer clic del botón del usuario y luego otro para OnClickListener
del otro botón que está llamando a través del código).
Simplemente escriba esta sencilla línea de código: –
button.performClick();
Donde button es la variable de referencia de la clase Button y definida como sigue:
private Button buttonToday ; buttonToday = (Button) findViewById(R.id.buttonToday);
Eso es.
Si no utiliza el argumento de sender
, por qué no refactorizar la implementación del manejador de botones para separar la función y llamarla desde donde quiera (desde el manejador de botones y desde el otro lugar).
De todos modos, es un diseño mejor y más limpio – un código que necesita ser llamado en el manejador de botones Y de algunos otros lugares merece ser refactorizado a su propia función. Además, le ayudará a separar el manejo de la interfaz de usuario del código de la lógica de la aplicación. También tendrá un buen nombre para la función, no sólo onDateSelectedButtonClick ().
Comenzando con API15, puede usar también callOnClick()
que llama directamente a la vista adjunta OnClickListener. A diferencia de performClick (), esto solo llama al oyente y no realiza ninguna acción de clic asociada como reportar un evento de accesibilidad.
- ¿Qué significa inflar una vista desde un archivo xml?
- Android emulador congelación OS X v10.9 (Mavericks) con HAXM