Avisos

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 17/08/14, 19:17:45
Array

[xs_avatar]
marellanor marellanor no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: San Javier, Septima Región del Maule. Chile
Mensajes: 30
Modelo de smartphone: Samsung Galaxy Grand
Tu operador: Movistar
Post Objetos GridView

Hola!. Alguien me podría indicar como recuperar objetos(imagen) o nombres del objeto(imagen) que se encuentren en una gridview, para poder comparar y ver si hay 2 imágenes iguales dentro de la gridview?.

Saludos y Gracias!
Responder Con Cita


  #2  
Viejo 17/08/14, 19:28:32
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
El GridView como tal no contiene información de lo que tiene dentro, ya que únicamente tiene un Adapter que lo rellena, igual que un ListView.

Así que respondiendo a tu pregunta, depende de como tengas implementado el Adapter, si has usado un BaseAdapter lo más probable es que tengas un List (o cualquier otro tipo de colección) con las imágenes que tienes que insertar en el GridView, así que ya lo único que tienes que hacer es comparar las posiciones de ese List (o Array, o lo que sea)
Responder Con Cita
  #3  
Viejo 17/08/14, 19:34:05
Array

[xs_avatar]
marellanor marellanor no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: San Javier, Septima Región del Maule. Chile
Mensajes: 30
Modelo de smartphone: Samsung Galaxy Grand
Tu operador: Movistar
Entiendo. Lo que pasa es que estoy desarrollando el Juego 'Memorice'. Entonces lo que hago es crear un arraylist con 16 imagenes(8 imagenes distintas). Luego hago con Collections.shuffle(animales) de ese arraylist. Creo una gridview con 16 imagenes que son iguales. Posterior a eso cuando se hace click en una imagen de la gridview rescato la posicion en la cual se ha hecho click y seteo una imagen de arraylist(animales) en dicha posicion. Entonces quiero comparar esas imagenes para poder ver si son iguales para sacar las imagenes de la gridview, sino volverlas a voltear. No sé si me explico.

Adjunto mi codigo. A ver si me dicen como lo puedo hacer o dar una idea mas o menos.

Código:
package com.paquete.juegayaprendeapp;

import java.util.ArrayList;
import java.util.Collections;

import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.Toast;

public class Juego3Libre extends Activity implements android.widget.AdapterView.OnItemClickListener {

	private ArrayList<Integer> animaleslist = new ArrayList<Integer>();
	
	private ArrayList<Integer> signolist = new ArrayList<Integer>(); 
		
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.juego3libre);
		//Acá seteo el nombre del layout
		this.setTitle("JUEGO MEMORICE");
		
		GridView gridview = (GridView) findViewById(R.id.GridView);
		gridview.setAdapter(new ImageAdapter(this));
		
		gridview.setOnItemClickListener(this);
		
		
	}
	
	public class ImageAdapter extends BaseAdapter{

		private Context contexto;
		
		public ImageAdapter(Context c){
			contexto=c;
			
			//se cargan las miniaturas
			animaleslist.add(R.drawable.caballo);
			animaleslist.add(R.drawable.cerdo);
			animaleslist.add(R.drawable.leon);
			animaleslist.add(R.drawable.rana);
			animaleslist.add(R.drawable.gato);
			animaleslist.add(R.drawable.gallo);
			animaleslist.add(R.drawable.foca);
			animaleslist.add(R.drawable.mono);
			  
			animaleslist.add(R.drawable.caballo);
			animaleslist.add(R.drawable.cerdo);
			animaleslist.add(R.drawable.leon);
			animaleslist.add(R.drawable.rana);
			animaleslist.add(R.drawable.gato);
			animaleslist.add(R.drawable.gallo);
			animaleslist.add(R.drawable.foca);
			animaleslist.add(R.drawable.mono);
			
			Collections.shuffle(animaleslist);
			
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			//
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			signolist.add(R.drawable.signointe);
			
		}
		
		@Override
		//Cantidad de imagenes que se desea mostrar
		public int getCount() {
			// TODO Auto-generated method stub
			return animaleslist.size();
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			ImageView imageview;
			
			if(convertView == null){
				
				imageview = new ImageView(contexto);
				imageview.setLayoutParams(new GridView.LayoutParams(85,85));
				imageview.setScaleType(ImageView.ScaleType.CENTER_CROP);
				imageview.setPadding(5, 5, 5, 5);
			}else{
				imageview = (ImageView) convertView;
			}
			
			//imageview.setImageResource(animaleslist.get(position));
			imageview.setImageResource(signolist.get(position));
			return imageview;
		}
		
	}

	@Override
	public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
		// TODO Auto-generated method stub
		//Instancio el imageview	
		ImageView imageview =(ImageView) v;
		//Obetengo la imagen en la posicion tocada y seteo la imagen
		imageview.setImageResource(animaleslist.get(position));

	}
}


Saludos y gracias por el tiempo de ayuda.

Última edición por marellanor Día 17/08/14 a las 19:36:48.
Responder Con Cita
  #4  
Viejo 17/08/14, 23:51:31
Array

[xs_avatar]
marellanor marellanor no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: San Javier, Septima Región del Maule. Chile
Mensajes: 30
Modelo de smartphone: Samsung Galaxy Grand
Tu operador: Movistar
Es posible guardar donde se hizo click anteriormente en un gridview?
Responder Con Cita
Respuesta

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



Hora actual: 19:06:29 (GMT +1)



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

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