Foros del Web » Programando para Internet » Android »

Consejo por favor!!!

Estas en el tema de Consejo por favor!!! en el foro de Android en Foros del Web. Hola chicos, tengo hecha una pequeña aplicacion familiar, que es como un arbol genealogico de fotos, pero quiero actualizarla. En un principio lo que tengo ...
  #1 (permalink)  
Antiguo 27/05/2012, 07:36
Usuario no validado
 
Fecha de Ingreso: abril-2012
Mensajes: 134
Antigüedad: 12 años, 7 meses
Puntos: 0
Consejo por favor!!!

Hola chicos, tengo hecha una pequeña aplicacion familiar, que es como un arbol genealogico de fotos, pero quiero actualizarla.

En un principio lo que tengo es un menu principal con dos imagebutton que son los apellidos familiares, y estos enlazan con una activity que es un gridview en el que los item son miniaturas de fotos y al pulsar se abre en grande.

Ahora lo que quiero es que al pulsar la miniatura en vez de abrir la imagen en grande, quiero que se abra una ficha digamoslo asi, donde esta la foto, y una descripcion como puede ser edad, nombre...

Eso que seria lanzar una activity por cada item del gridview o cambiar solo el contenido?
Esque lanzar la activity no hay problema, pero no se si es mucha tela una clase ñpor cada persona, o hay otra forma para cambiar solo el contenido.
  #2 (permalink)  
Antiguo 27/05/2012, 09:37
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 13 años, 3 meses
Puntos: 12
Respuesta: Consejo por favor!!!

Puedes utilizar Fragments.

http://developer.android.com/guide/t...fragments.html
  #3 (permalink)  
Antiguo 27/05/2012, 10:18
Usuario no validado
 
Fecha de Ingreso: abril-2012
Mensajes: 134
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Consejo por favor!!!

Cita:
Iniciado por javih Ver Mensaje
Puedes utilizar Fragments.

[url]http://developer.android.com/guide/topics/fundamentals/fragments.html[/url]
Voy a investigar sobre ello. la verdad que no tengo ni idea sobre fragments, entiendo que es como una subventana, que se cambia, no es asi?
  #4 (permalink)  
Antiguo 27/05/2012, 10:35
Usuario no validado
 
Fecha de Ingreso: abril-2012
Mensajes: 134
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Consejo por favor!!!

Si lo hiciese con una activity por persona, seria una mala practica? lo digo porque he estado bicheando sobre los fragments y son como paneles, y podria valerme, pero no se hasta que punto es lo mismo cambiar un panel que una activity.
Lo pregunto desde la ignorancia.
  #5 (permalink)  
Antiguo 27/05/2012, 15:49
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 13 años, 3 meses
Puntos: 12
Respuesta: Consejo por favor!!!

Hola,

algo así es a lo que me refería > http://www.blogeek.com.ar/2011/06/02...sde-honeycomb/

Es lo que se estila ahora pero por ello tampoco lo tienes que hacer así pero queda más curioso, el asunto sería como organizarlo, creo que lo mejor es ver diferentes aplicaciones (o demos sobre fragments que hay algunas en el play) y luego en base a eso hacerte un mockup según tus necesidades.

También lo puedes hacer con una Activity, si te entendí de crear una por cada persona, así no es, solo tienes que crear una Activity y luego al AdapterView que creas para esa Activity le pasas la data de la posición que se haya seleccionado.

Saludos
  #6 (permalink)  
Antiguo 27/05/2012, 16:33
Usuario no validado
 
Fecha de Ingreso: abril-2012
Mensajes: 134
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Consejo por favor!!!

esa misma pagina la estuve mirando, pero creo que lo que mas se asemeja es lo de pasar la data a la activity. mira te voy a enseñar el codigo.
Te lo explico antes:
Tengo una actividad con dos imagebutton, cada uno enlaza a otra actividad, en esa actividad tengo un image adapter para poner las miniaturas en el gridview, y despues cuando haces pulsas el gridview la imagen que pulses lanza otra activity con la imaggen a pantalla completa, tambien lleva otro imageadapter para que al seleccionar la imagen sea la misma.

Actividad Principal
Código:
public class LaCalleSinSalidaActivity extends Activity {
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
	
	 public void loschicos(View view) {
		 Intent intentchicos = new Intent(this, LosChicosDeLaCalle.class);     
         startActivity(intentchicos);
	 }
	 
	 public void laschicas(View view) {
		 Intent intentchicas = new Intent(this, LasChicasDeLaCalle.class);     
         startActivity(intentchicas);
	 }

}
La otra Actividad
Código:
public class LasChicasDeLaCalle extends Activity{ 
			
	public void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.chicas);

	    GridView gridview = (GridView) findViewById(R.id.gridviewchicas);
	    gridview.setAdapter(new ImageAdapterChicas(this));
	    gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
	        public void onItemClick(AdapterView<?> parent, View v, int position, long id)
	        {
	          Intent localIntent = new Intent(LasChicasDeLaCalle.this.getApplicationContext(), ChicasFull.class);
	          localIntent.putExtra("id", position);
	          LasChicasDeLaCalle.this.startActivity(localIntent);
	        }
	    });
	}

}

El imageadapter
Código:
public class ImageAdapterChicas extends BaseAdapter {
    
	private Context mContext;
	
    private Integer[] ThumbsChicas = {
            R.drawable.test2, R.drawable.test2,
            R.drawable.test2, R.drawable.test2,
    };

    public ImageAdapterChicas(Context c) {
        mContext = c;
    }

    public int getCount() {
        return ThumbsChicas.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    public View getView(int position, View paramView, ViewGroup paramViewGroup)
    {
      ImageView imageView = new ImageView(this.mContext);
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
      /*imageView.setLayoutParams(new AbsListView.LayoutParams(200, 200));*/
      imageView.setImageResource(ThumbsChicas[position]);
      return imageView;
    }

}
mostrar en pantalla completa
Código:
public class ChicasFull extends Activity {
	
	  public void onCreate(Bundle paramBundle)
	  {
	    super.onCreate(paramBundle);
	    setContentView(R.layout.chicas_full);
	    int i = getIntent().getExtras().getInt("id");
	    new ImageAdapterChicas(this);
	    ((ImageView)findViewById(R.id.chicasFull)).setImageResource(ImageAdapterChicasFull.imgChicas[i].intValue());
	  }
}

Etiquetas: consejo, pc, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.