Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

348
Vistas
No se puede hacer clic en los botones dentro de la caja del interruptor anidado

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)

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

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

  • tiene una cadena de preguntas
  • tiene un Map<String, Question>: String es una respuesta y Question es la siguiente Pregunta para esta respuesta dada

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.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda