Tengo esta situación en la que tengo que usar 3 botones varias veces como:
"¿De dónde eres?" y las opciones son: botón1, botón2, botón3. si se elige el botón 1, habrá una nueva pregunta, usando los mismos botones, pero con textos diferentes. Si se elige el botón 2, habrá una pregunta diferente y así sucesivamente.
Habrá capas para esto, por lo que los botones cambiarán 64 veces. Estoy luchando con la lógica de la tercera capa.
Creé códigos para la rama de button1:
text.setText("Where are you from?"); //this is the 1st layer btn1.setText("Asia") btn2.setText("Europe") btn3.setText("North America") case R.id.button: branch = 1; if (branch == 1) //this is the 2nd layer choice = "Where in Asia are you from?" text.setText(choice); btn1.setText("East Asia"); btn2.setText("Southeast Asia"); btn3.setText("Northeast Asia"); break; } switch (view.getId()) { case R.id.button: choice = "Where in East Asia?" //this is the third layer text.setText(choice); btn1.setText("insert country"); btn2.setText("insert country 2"); btn3.setText("insert country 3"); break; case R.id.button2: choice = "Where in Southeast Asia"; //this is the third layer text.setText(choice); btn1.setText("insert country"); btn2.setText("insert country 2"); btn3.setText("insert country 3"); break; case R.id.button3: choice = "Where in Northeast Asia?"; //this is the third layer text.setText(choice); btn1.setText("insert country"); btn2.setText("insert country 2"); btn3.setText("insert country 3"); break;la rama de donde en el este de Asia? donde en el sureste de asia? ¿Dónde en el noreste de Asia? no aparece cuando lo ejecuto. Tanto la vista de texto como los botones no se pueden ver para la tercera capa (cuando se hace clic en el botón en la capa 2, permanece en la capa 2)
Debería pensar en una mejor estructura de datos para manejar esta lógica. Esto se vuelve inmanejable cuantas más capas agregue. Aquí hay una idea simple de cómo separar la lógica de la representación:
Pregunta-clase
Así que esto termina en una estructura de árbol.
Capa de representación: El campo de texto y los botones solo muestran información relacionada con la pregunta seleccionada. No manejan ninguna lógica. Su campo de texto muestra la cadena de preguntas. Sus botones muestran las respuestas en la lista una por una.