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


 
Herramientas
  #1  
Viejo 20/02/12, 11:44:05
Avatar de rul3s
rul3s rul3s no está en línea
Usuario muy activo
Mensajes: 802
Compra y venta: (3)
 
Fecha de registro: jul 2008
Localización: Lleida
Mensajes: 802
Modelo de smartphone: Samsung Galaxy S10 G9730 Snapdragon
Versión de ROM: Android 12 Stock
Tu operador: Lowi
Mencionado: 11 comentarios
Tagged: 1 hilos
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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 10:54:38 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007