Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 20/02/12, 11:44:05
Array

[xs_avatar]
rul3s rul3s no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: jul 2008
Localización: Lleida
Mensajes: 802
Modelo de smartphone: Samsung Galaxy S10 G9730 Snapdragon
Tu operador: Lowi
Juego de preguntas... como mirar que boton han pulsado?

Hola compañeros!!

Vereis, estoy haciendo un juego de preguntas al estilo 50x15, el cual:

-Guardo las preguntas con sus respuestas en un XML.
-Este XML se guarda en internet y cada vez que se abre la app se comprueba que no haya nuevas preguntas, y si las hay, descarga el nuevo XML.
-Las preguntas se cargan en un ArrayList de Objetos "Pregunta", el cual tiene la pregunta, las 4 posibles respuestas, y la correcta.

Hay 2 activities, la principal, en la que se descarga el XML y esto, y cuando le damos al boton jugar se abre la activiti que contiene el juego, que lee las preguntas del XML, crea el ArrayList de preguntas y que muestra ya la pregunta aleatoria con sus 4 posibles respuestas con 4 botones, uno para cada una.

Mi DUDA es:

Como puedo saber que boton han pulsado desde el programa principal? Puedo hacer un onClickListener, pero claro, este genera un nuevo submetodo el cual no puede devolver nada ni tampoco acceder a las propiedades del metodo desde el que se le llama...

Código:
pregunta.setText(pAct.getQuestion());
        respA.setText(pAct.getAnsw1());
        respB.setText(pAct.getAnsw2());
        respC.setText(pAct.getAnsw3());
        respD.setText(pAct.getAnsw4());
        
        btA.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if(pAct.getCorrect() == 1){
                    return true;
                }
                //StartAct.this.finish();
            }
        };
Alguna sugerencia?

Un saludo!!

p.d: estoy muy pez en este ambito
__________________
Responder Con Cita


  #2  
Viejo 20/02/12, 12:26:31
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Hola,

Si que puedes acceder a las propiedades de la clase donde está contenida el OnClickListener, puedes hacerlo de 2 formas:

1) Declarando la variable como una variable de la clase, ya sea estática o dinámica.

Suponiendo que el nombre de la Activity es Actividad y la variable se llama Variable (es que esta mañana me he levantado poco original), en el OnClickListener tendrías que hacer esto:

Si es dinámica:

Actividad.this.Variable = lo que sea

Si es estática:

Actividad.Variable = lo que sea

2) Declarando las variables como finales dentro del método donde creas el OnClickListener, en tu ejemplo:

final respA = (TextView).................

Y luego en el OnClickListener podrías usar tranquilamente respA, lo único que no podrías hacer es asignarle una referencia nueva, pero si usar sus métodos y variables.

Por ejemplo no podrías hacer:

respA = respuestaCorrecta

Pero si podrías hacer:

respA.setText("Respuesta Correcta")

Espero que te haya aclarado las dudas, un saludo.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 02:48:07 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /