Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Puede un ToggleButton cambiar la funcionalidad de otros botones en la misma Actividad?

En resumen, ¿un ToggleButton puede cambiar lo que otros botones de la actividad hacen cuando se cambia? Si es así, una explicación más específica de lo que quiero hacer es la siguiente:

Básicamente hay tres botones y un togglebutton. Cuando se conmuta el botón de activación, presionando cualquiera de los tres botones se tomará una imagen y 'guardar' para ese botón. Cuando se alterna, presionando cualquiera de los tres botones simplemente muestra sus imágenes. Creo que puedo averiguar la parte de captura de la cámara, pero necesito alguna dirección cuando se trata del togglebutton.

Cualquier ayuda es apreciada y puedo explicar más si es necesario.

3 Solutions collect form web for “¿Puede un ToggleButton cambiar la funcionalidad de otros botones en la misma Actividad?”

Cree un booleano como isToggleOn que sea true o false dependiendo del ToggleButton . A continuación, para cada uno de sus botones, simplemente puede hacer:

 Button button1 = (Button) findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(isToggleOn){ //do one thing } else { //do other thing } } }); 

Lo que haría es mantener un par de banderas para cada estado a nivel de clase, como esto:

 public class MyClass { private static final int STATE_SAVE = 0; private static final int STATE_DISPLAY = 1; private int currentState = STATE_DISPLAY; // I made this default for the example, // you should use what makes sense to your project. } 

Entonces, dentro de su botón de alternancia, usted puede fijar la bandera. Parafraseando este código ya que no tengo un editor abierto:

 toggleButton.setOnToggleListener(new OnToggleListener() { @Override public void onToggled(boolean toggled) { if(toggled) { currentState = STATE_SAVE; } else { currentState = STATE_DISPLAY; } }); 

Ahora, cuando se hace clic en los botones, puede cambiar basado en el estado para realizar una acción:

 button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(currentState == STATE_SAVE) { // Save the image. } else if (currentState == STATE_DISPLAY) { // Display the image. } }); 

Sí, definitivamente puedes. Muy rara vez es algo imposible con el código!

Todo lo que tienes que hacer es cambiar el oyente de los tres botones cuando se pulsa el botón. Usted mantiene la alternancia entre los oyentes cada vez que cambia.

Para su propósito, sugeriría la definición de dos conjuntos de oyentes – dos para cada uno de los tres botones y luego seguir cambiando entre ellos.

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