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 05/11/13, 23:20:42
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Ayuda para una aplicacion

Hola muy buenas necesito realizar una aplicacion que muestre un ListView diferente informacion de tiendas (El nombre).

Una vez seleccione una de ellas me debe de abrir una nueva Actividad o pantalla mostrando información detalla de dicha tienda.

Hasta ahora he conseguido que me muestre el Listview con las tiendas (de momento no almaceno nada mas)

Lo que quiero es que una vez seleccione llame a otra pantalla nueva y muestre el resto de la información de momento (el nombre)

No consigo hacerlo, en breve pondre el codigo ya que ahora mismo no dispongo de él.

tengo algo asi como
Intent intent = new Intent(this, detalles.class);
startActivity(intent);

pero al ejecutarlo y seleccionar me falla.

Un saludo espero poder poneros el codigo luego ya que estoy comenzando.
Responder Con Cita


  #2  
Viejo 05/11/13, 23:41:46
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
No das muchas pistas, pero así de entrada, supongo que te falla al ejecutarse el código de la ejecución de la segunda Activity.

¿Has puesto la segunda Activity en el AndroidManifest?
Responder Con Cita
  #3  
Viejo 06/11/13, 00:59:56
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Muchismas gracias kriogen, exactamente no me acordaba de que debia añadirlo, se nota la novatada.

Ya he conseguido pasar a otro activity, me surge otra duda.

Tengo que mostrar las tiendas en el listview, y la informacion detallada en el siguiente activity.

La duda es como puedo crear lo que es el objeto tienda (Nombre, direccion, telefono, etc)
seria un arrays pero solo crear uno que sea la estructura para todas las tiendas y a partir de dicha estructura cargar lo que es el campo nombre en el listview.

No se si me explicado mas o menos o entiendes lo que quiero hacer.
Responder Con Cita
  #4  
Viejo 06/11/13, 03:22:46
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Bueno os pongo el codigo de lo que he podido avanzar.

Final ArrayList<tienda> datos = new ArrayList<tienda>();
datos.add(new tienda("Tienda de Lego","El puerto","654"));
datos.add(new tienda("Tienda de Libro","El puerto","654"));
datos.add(new tienda("Tienda de Juegos","El puerto","654"));
datos.add(new tienda("Tienda de Zapatos","El puerto","654"));
datos.add(new tienda("Tienda de Niños","El puerto","654"));
datos.add(new tienda("Tienda de Comida","El puerto","654"));
datos.add(new tienda("Tienda de Bebida","El puerto","654"));

ArrayAdapter<tienda> adaptador =new ArrayAdapter<tienda>(this, android.R.layout.simple_list_item_1, datos);

lista =(ListView) findViewById(R.id.lvLista);
lista.setAdapter(adaptador);

No se como puedo hacer para que me aparezca en el ListView solamente el nombre ya que me aparece com.proyecto.prueba.tienda@54f48008
y asi todos.

una vez selecciono uno tengo un toast y si me muestra correctamente el que quiero.
Responder Con Cita
  #5  
Viejo 06/11/13, 12:11: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
Los ArrayAdapter están pensados sólo para usarse con String, así que lo que te está haciendo es hacerle un toString() a cada uno de los elementos en el array datos.

Para que no tengas que cambiar mucho tu código lo más fácil es añadir el método toString() (con @Override) a la clase tienda y que te devuelva el nombre de la tienda.
Responder Con Cita
  #6  
Viejo 06/11/13, 17:16:37
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Hola de nuevo Kriogen, tengo creado el siguiente.

public String get_nombre() {
return vnombre;
}

Pero no consigo averiguar como ponerlo en el listview para que solo me aparezca el nombre y no lo el cifrado jiji.

Tengo todo ya realizado a excepcion de ese pequeño detalle.
de realizar un Linkify a una direccion ya que todos los demas telefono, mail me funcionan pero el de direccion no.

A ver si me orientas un poco que estoy algo perdido sobretodo en el listview.

direccion= (TextView) findViewById(R.id.tvDireccion);
Bundle bdireccion=getIntent().getExtras();
direccion.setText(bdireccion.getString("direccion" ));
Linkify.addLinks(direccion, Linkify.MAP_ADDRESSES);

Este no me funciona
muchas gracias por tu tiempo y paciencia.
Responder Con Cita
  #7  
Viejo 06/11/13, 18:21:03
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Haz lo que te ha dicho kriogeN... en la clase tienda crea un método que se llama toString() y devuelva el nombre de esa instancia de tienda.

Código:
@Override
public String toString(){
return vnombre;
}
Si se llama de otra forma y no toString, lo que te va a salir es el toString por defecto que es un identificador de la referencia del objeto.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #8  
Viejo 06/11/13, 19:08:58
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Exacto muchisimas gracias todo perfecto a ver que mas problemas me van surgiendo.

Respesto al Linkify no puedes decirme que puede estar fallando.
Responder Con Cita
  #9  
Viejo 06/11/13, 20:54:59
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
Para que Linkify detecte una dirección debe de ser bastante explícita y tener cierto formato, y no se si posiblemente estar funcionando el servicio NetworkLocator (en móviles a partir de Android 4.0 se buguea bastante y sólo se soluciona reiniciando el móvil).

Prueba poniendo esta dirección, que está comprobado que funciona:

436 Mayfield Ave, Stanford, CA

Si no te funciona, prueba reiniciando el móvil, si sigue sin funcionarte es que tu móvil no soporta Linkify (algunos móviles HTC no lo soportan fruto de una demanda de Apple, que decían que eso estaba patentado por ellos, pero al ser la demanda contra HTC sólo lo quitó HTC, no se si los móviles HTC nuevos vuelven a tenerlo o no, pero creo que si).

Si te funciona a la primera es que la dirección que has puesto es demasiado vaga.
Responder Con Cita
  #10  
Viejo 07/11/13, 13:44:21
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Perfecto con esa dirección a funcionado, vale ahora algo que es bastante sencillo pero no encuentro el porque no me sale.

una vez tengo la actividy de descripcion ahora doy en el nombre y me voy a otro activity, hasta aqui perfecto, en este activity tiene que cargar una imagen, un icono de comentario y un texto con un comentario.

Lo que tengo hasta ahora:

 Cita:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
androidrientation="vertical" >

<ImageView
android:id="@+id/ivPrincipal"
android:layout_width="300dp"
android:layout_height="300dp"
android:src="@drawable/ic_launcher" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
androidrientation="horizontal">

<ImageView
android:id="@+id/ivIcon"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginLeft="5dp"
android:src="@drawable/icon" />

<TextView
android:id="@+id/tvInformacion"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dp"
/>

</LinearLayout>

</LinearLayout>
 Cita:

public class image extends Activity{

ImageView imagen,icono;
TextView informacion;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

imagen=(ImageView) findViewById(R.id.ivPrincipal);
icono =(ImageView) findViewById(R.id.ivIcon);
informacion=(TextView) findViewById(R.id.tvInformacion);

//informacion.setText("COMENTARIOS DE LA TIENDA");
}
}
Pero no me muestra nada en el nuevo activity, tengo las imagenes en todas las carpetas para las diferentes resoluciones.
Responder Con Cita
  #11  
Viejo 08/11/13, 04:58:03
Array

[xs_avatar]
remix_squall remix_squall no está en línea
Miembro del foro
 
Fecha de registro: sep 2013
Mensajes: 291
Modelo de smartphone: Xiaomi Redmi Note 8
Tu operador: Movistar
Deberías usar el foro de Galileo .

Parece que hay un compañero aquí que está haciendo el mismo curso que yo. Yo tampoco he podido averiguar el Linkify. Le he preguntado al profesor y me ha contestado esto:

"A la dirección agregale (en código de java) la ciudad y el país al que pertenece."

No entendí lo que dijo ...
Responder Con Cita
  #12  
Viejo 08/11/13, 08:26:41
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Si es el mismo jaja yo puse la dirección de arriba que funciona perfectamente.
Responder Con Cita
  #13  
Viejo 08/11/13, 13:06:02
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Tengo el siguiente problema com osabeis es un activity principal que llama a otro activity muestra informacion y este a su vez llama a otro donse se muestran 2 imagenes y 1 textview.

el ultimo para empezar no me muestra nada no se el porque, en un proyecto solo funciona perfectamente (he realizado clean y nada)

El problema viene tengo el array y la lista con todos los datos fotografia y comentario incluido.
public tienda (String vnombre, String vdireccion, String vtelefono, String vdiarios, String vsabados,String vdomingos,String vsitio, String vemail, int vimagen, String vcomentario) {

este esta en el principal.

en el siguiente recupero y muestro lo que necesito esto perfecto pero cuando llamo al de la fotografia no soy capaz de pasarle el comentario ni la imagen y como puedo recuperarla en el activity de fotografia.
Responder Con Cita
  #14  
Viejo 08/11/13, 13:09:04
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Otra cosa yo paso la imagen desde el principal al siguiente activity asi:
int imagen = elegido.get_imagen();

Bundle bimg=new Bundle();
bimg.putInt("imagen", imagen);
data.putExtras(bimg);

Pero nose como recibirla en el segundo activity para visualizarla en imageView.

img= (ImageView) findViewById(R.id.ivPrincipal);
Bundle bimagen=getIntent().getExtras();
img.setImageResource(bimagen.getInt(img.get));

a ver si pueden ayudarme gracias
Responder Con Cita
  #15  
Viejo 08/11/13, 13:32:54
Array

[xs_avatar]
remix_squall remix_squall no está en línea
Miembro del foro
 
Fecha de registro: sep 2013
Mensajes: 291
Modelo de smartphone: Xiaomi Redmi Note 8
Tu operador: Movistar
El tema de la imagen no hay que complicarse tanto (además, es la más fácil de las 3 actividades), con que hagas la interfaz sencillita, con todos los datos ya puestos va bien. Para dicha imagen no hay que hacer ningún Bundle, además lo dice el mismo enunciado:

"El archivo de la imagen se coloca en /res/drawable-mdpi y se le especifica al ImageView android:src=@drawable/nombre".

No mandas en esa nueva actividad ni TextView, ni ImageView por ningún lado, el XML lo hace por sí sólo.

Por otro lado, el Linkify con MAP_ADDRESSES va perfectamente con el ejemplo que habéis dicho anteriormente arriba. Pero eso, sólo es una dirección americana. ¿Hay que usar algún tipo de patrón o qué? ... Yo he intentado hacerlo con Google.

PD: ¿Pensáis que han empezado el curso algo fuerte? Yo no me puedo quejar del curso porque ya sabía Java y Android, por lo que se me da de lujo . Pero he estado en otro curso (sobre Raspberry Pi) y cuando tocaron la parte de programación con Python y luego después con electrónica, lo explicaron todo desde cero ... para que la gente entendiera todo (y no, no fue tan aburrido como yo creía, era bastante interesante ).
Responder Con Cita
  #16  
Viejo 08/11/13, 14:04:38
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Respecto a lo de la imagen que se pone una imagen fija para todas las tiendas? yo creia que deberia ir cambiando dependiendo de la tienda que selecciones.

Yo ahora mismo la imagen la tengo correctamente (siendo fija hasta el activity 2 en eeste veo tanto la imagen como el comentario) ya es al 3º al que no soy capaz de pasarle el comentario al menos.

esto es lo que tengo en el segundo activity:

im = (ImageView) findViewById(R.id.ivPrincipal);
im.setImageResource(R.drawable.ic_launcher);

comentario= (TextView) findViewById(R.id.tvComentario);
Bundle bcomentario=getIntent().getExtras();
comentario.setText(bcomentario.getString("comentar io"));

y se muestra todo perfecto la imagen y el comentario.
cuando seleccion para ver la imagen y llamar al 3º activity tengo:

Bundle bolsa=new Bundle();
bolsa.putString("comentario", comenta);
foto.putExtras(bolsa);
startActivity(foto);

y en el 3º activity:

informacion=(TextView) findViewById(R.id.tvComentario);
Bundle bolsa=getIntent().getExtras();
informacion.setText(bolsa.getString("comentario")) ;
y no se porque cancela el programa con esto ultimo si supuestamente estoy cogiendo la informacion del comentario pasada del activity 2.

no encuentro el fallo a ver si alguien me lo puede decir
Responder Con Cita
  #17  
Viejo 08/11/13, 14:13:07
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Lo que mas me preocupa es el porque no se me muestra nada en el 3º activity.

codigo:

package com.informacion.infotienda;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

public class fotografia extends Activity{

ImageView icono,img;
TextView informacion;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

img=(ImageView) findViewById(R.id.ivPrincipal);
icono =(ImageView) findViewById(R.id.ivIcon);
/**
img.setImageResource(R.drawable.ic_launcher);
icono.setImageResource(R.drawable.icon);

informacion=(TextView) findViewById(R.id.tvComentario);
Bundle bolsa=getIntent().getExtras();
informacion.setText(bolsa.getString("comentario")) ;
**


}
}

si quito los comentarios en algo cancela.

XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity"
androidrientation="vertical" >

<ImageView
android:id="@+id/ivPrincipal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
android:src="@drawable/ic_launcher" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
androidrientation="horizontal">

<ImageView
android:id="@+id/ivIcon"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginLeft="5dp"
android:visibility="visible"
android:src="@drawable/icon" />

<TextView
android:id="@+id/tvComentario"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
android:layout_marginRight="5dp"
/>

</LinearLayout>

</LinearLayout>
Responder Con Cita
  #18  
Viejo 08/11/13, 19:15:18
Array

[xs_avatar]
remix_squall remix_squall no está en línea
Miembro del foro
 
Fecha de registro: sep 2013
Mensajes: 291
Modelo de smartphone: Xiaomi Redmi Note 8
Tu operador: Movistar
A ver, en el foro, el profesor dijo de hacer un botón sobre el listado de tiendas, no sobre cada tienda.

El ejercicio es tan simple como eso. No hay que complicarse con Bundle e Intent
Responder Con Cita
  #19  
Viejo 14/11/13, 20:15:20
Array

[xs_avatar]
cepillo cepillo no está en línea
Usuario poco activo
 
Fecha de registro: ago 2011
Mensajes: 49
Tu operador: Movistar

Buenas de nuevo ya esta todo lo anterior realizado, ahora tengo que crear 2 iconos en action bar uno de favorito y otro compartir , hasta aqui todo perfecto.

En el de compartir en el activity de fotografia debo compartir la foto, pero no se como realizarlo ya que la imagen esta definida en el imageview del xml y no se como puedo hacer para que uri coja el valor que debe tener. Al igual que etResources().getText(R.string.action_compartir) me sobraria ya que quiero enviar la imagen. Lo que tengo hasta ahora es:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
Intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + uri));
intent.setType("Image/*");
startActivity(Intent.createChooser(intent, getResources().getText(R.string.action_compartir)) );
return true;
Responder Con Cita


  #20  
Viejo 14/11/13, 20:36:35
Array

[xs_avatar]
oxot oxot no está en línea
Usuario muy activo
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Tu operador: Pepephone
No entiendo muy bien. ¿Quieres compartir un string que indique dónde está la imagen o cómo?
En el intent se puede poner cualquier objeto, no está limitado a nada. Yo por ejemplo cuando quiero compartir objetos (como podría ser un bitmap o un imageview) uso putserializable y getserializable (también se puede hacer con parcelable pero es más complicado porque la serialización la tienes que definir tu mientras que en el otro caso se encarga Java).
Consulta aquí a ver si te vale:
http://developer.android.com/referen...erializable%29
http://developer.android.com/referen...lang.String%29

Si no también puedes compartir el id de la foto y cargarla desde la otra activity. Es que no tengo muy claro el objetivo de tu compartir y a dónde envía.

Un saludo.
Responder Con Cita
Respuesta

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



Hora actual: 01:21:46 (GMT +2)



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

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