PDA

Ver la Versión Completa : arrays de otra actividad


mascamasca
12/03/13, 22:57:25
Buenas noches.

Estoy haciendo un juego para mis sobrinos de buscar las parejas y así aprendo android.

La verdad es que estoy un poco verde en java.

No me enrrollo más.
Tengo un gridview con imágenes, con un adaptador.
En el adaptador tengo un array con los nombres de las imágenes y mi duda es cómo puedo usar ese array que está en el adaptador en la actividad que controlo el juego?

Es decir el array está en adaptorImagenes.class y lo necesito también en juego.class
para saber si al pulsar en las imágenes son iguales o no.
Un saludo y muchas gracias.

ugarte
12/03/13, 23:11:57
Buenas noches.

Estoy haciendo un juego para mis sobrinos de buscar las parejas y así aprendo android.

La verdad es que estoy un poco verde en java.

No me enrrollo más.
Tengo un gridview con imágenes, con un adaptador.
En el adaptador tengo un array con los nombres de las imágenes y mi duda es cómo puedo usar ese array que está en el adaptador en la actividad que controlo el juego?

Es decir el array está en adaptorImagenes.class y lo necesito también en juego.class
para saber si al pulsar en las imágenes son iguales o no.
Un saludo y muchas gracias.

Para los sobrinos y para Cesar ehh pillin :sisi1:
El array no lo puedes crear en al clase adaptador. La función de esa clase debe ser, dado un array, que te lo coloque todo en el grid. A la clase adaptadorImagenes.class le tienes que pasar el array

mascamasca
12/03/13, 23:20:21
jajajaja.
Es para ambos pero sobretodo para los crios.

A mí esto de hacer juegos no me gusta nada ¡, prefiero hacer otras cosas que le saque más provecho.
Bueno a lo que vamos. cómo es eso.

ugarte
13/03/13, 21:11:04
Pues es que no se si mostrar el juego en un gridview es una buena idea.
Tienes que mirarte como se hace un BaseAdapter o un ArrayAdapter. Por ejemplo para un BaseAdapter sencillo: http://elbauldelprogramador.com/opensource/programacion-android-interfaz-grafica-2/

Como ves el Array se crea en una clase y el adaptador solo se encarga de mostrarlo.

mascamasca
13/03/13, 23:12:17
La verdad es que llevo un par de dias pensándolo y otra opción era usar el canvas y pintar las imágenes.
quizás tenga menos problemas que con el gridview

kriogeN
14/03/13, 00:05:26
Lo ideal para hacer juegos es no usar controles de Android y pintar en un Canvas.

En primer lugar porque hoy en día los juegos tienen que tener mucha carga gráfica, y eso como mejor se consigue es pintando sobre un Canvas.

Y luego además porque siempre te van a ocupar el mismo tamaño relativo de pantalla indistintamente de como sea la pantalla. Por ejemplo con aplicaciones nativas si tienes un ListView habrá móviles que se verán 5 elementos, en otros se verán 8, y en otros 10. Lo mismo puedes aplicarle al GridView. Y eso en la mayoría de juegos no es aconsejable.

En cuanto a tu pregunta original, no entiendo realmente tu problema. Por lo que entiendo en juego.class es donde vas a tener al controlador de vista (es decir, donde está el GridView). Por lo tanto necesitas por narices que ahí esté la instancia de adaptorImagenes.class. Teniendo la instancia de adaptorImagenes.class en juego.class lo único que te falta es un método getArray público en adaptorImagenes.class que te devuelva el array.

mascamasca
14/03/13, 00:22:03
Lo ideal para hacer juegos es no usar controles de Android y pintar en un Canvas.

En primer lugar porque hoy en día los juegos tienen que tener mucha carga gráfica, y eso como mejor se consigue es pintando sobre un Canvas.

Y luego además porque siempre te van a ocupar el mismo tamaño relativo de pantalla indistintamente de como sea la pantalla. Por ejemplo con aplicaciones nativas si tienes un ListView habrá móviles que se verán 5 elementos, en otros se verán 8, y en otros 10. Lo mismo puedes aplicarle al GridView. Y eso en la mayoría de juegos no es aconsejable.

En cuanto a tu pregunta original, no entiendo realmente tu problema. Por lo que entiendo en juego.class es donde vas a tener al controlador de vista (es decir, donde está el GridView). Por lo tanto necesitas por narices que ahí esté la instancia de adaptorImagenes.class. Teniendo la instancia de adaptorImagenes.class en juego.class lo único que te falta es un método getArray público en adaptorImagenes.class que te devuelva el array.

Tienes razón en lo de las vistas.
Y con lo del método getArray me acabas de iluminar, o eso creo.

Muchas gracias.
Un saludo

mascamasca
16/03/13, 19:56:51
Ya está solucionado el problema.
El array de las imágenes lo tengo en la actividad principal y se la paso por parámetros al adaptador.