![]() |
|
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 |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
||||
|
||||
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(); } }; Un saludo!! p.d: estoy muy pez en este ambito ![]() |
|
#2
|
||||
|
||||
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. |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
Herramientas | |
|
|
Hora actual: 21:25:39 (GMT +2)
HTCMania: líderes desde el 2007