Home Menu

Menu



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


 
Herramientas
  #1  
Viejo 10/02/14, 21:06:12
Avatar de Manu14s
Manu14s Manu14s no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: oct 2013
Mensajes: 15
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Arraylist obtener valores.

Hola ,muy buenas.
A ver si alguien puede ayudarme.
Tengo una actividad que muestra en un listview un arraylist con un adaptador para mostrar imagen,precio descripcion y precio.
Debajo he añadido un textview para mostrar la suma total de precio de todos los elementos que se van añadiendo en este arraylist. como podria obtener el valor del objeto precio y sumarlo ?

static ArrayList<ItemListView> itemsListVMiPedido = obtenerItemsMiPedido();
ItemListViewAdapter adapterlistvMiPedido = new ItemListViewAdapter(this, itemsListVMiPedido);

---------
y asi los añado
itemsListVMiPedido.add(new ItemListView(1, "LLave22", "LLave con..", "drawable/llave","1.75"));

itemsListVMiPedido.add(new ItemListView(2, "LLave1", "LLave con..", "drawable/llave2123","1.75"));

Quisiera obtener solo los valores de precio.Estan guardados en un objeto tipo String para poder mostrarlos en el textview del listview.
Imagino que una vez obtenidos( lo que no se hacer) abria que pasarlos a double y luego sumarlos.
Muchas gracias
Responder Con Cita


  #2  
Viejo 10/02/14, 22:15:27
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
¿Y no es más fácil añadirlo a un objeto Double mientras los vas añadiendo al ArrayList? Aún así, suponiendo que tengas que hacerlo a posteriori:

Y suponiendo que tengas un método getPrecio() en la clase ItemListView que te devuelve el precio en formato String, y si no lo tienes es lo primero que tienes que hacer, lo que tienes que hacer es recorrer el ArrayList, sacar el precio y convertirlo a Double e ir sumándolo en un objeto Double:

Double precioFinal = 0;
for (ItemListView item : itemsListVMiPedido)
precioFinal += Double.parseDouble(item.getPrecio());
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 10/02/14, 23:46:50
Avatar de Manu14s
Manu14s Manu14s no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: oct 2013
Mensajes: 15
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Muchas gracias por responder. Ahora lo probare a ver si lo hago bien y te digo. Gracias!
Responder Con Cita
  #4  
Viejo 11/02/14, 02:48:51
Avatar de Manu14s
Manu14s Manu14s no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: oct 2013
Mensajes: 15
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Te cuento: Funcona perfectamente. Solo tengo un problemilla mas a ver si pudieras ayudarme.
He creado un metodo :
public void sumarPedido(){
for (ItemListView item : itemsListVMiPedido)
sumaTotal += Double.parseDouble(item.getPrecio());
}
---Como tu me dijiste. A este metodo lo llamo desde el oncreate para que nada mas entrar en la actividad me muestre el total de los articulos añadidos previamente desde otras actividaddes.
El caso es que tengo :

page1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {

itemsListVMiPedido.remove(position);

page1.invalidateViews();//refrescar listview despues de borrar elemento,asi se elimina la vista del item

}
});


}
page = page1;
break;

---para eliminar los item del listview con solo tocarlos ( tendre que poner un alert dialog para confirmar si desean borrar )
Claro si eliminas un item del listview ,el textview con el precio final deberia actualizarse con el valor actual. Pues no hay manera, justo despues de eliminar el item he añadido una llamada al metodo sumarPedido pero nada,he añadido un textview.invalidate, y tampoco...

page1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {

itemsListVMiPedido.remove(position);

page1.invalidateViews();//refrescar listview despues de borrar elemento,asi se elimina la vista del item
sumarPedido();
tv.invalidate();
}

El caso es que si añadir una llamada al metodo sumarpedido, y borrar un articulo al salir y entrar otra vez a mi actividad de mipedido este esta actualizado, (porque vuelve a hacer el oncrete,supongo).

Bueno a ver si me puedes ayudar.Y muchas gracias de nuevo.
Responder Con Cita
  #5  
Viejo 11/02/14, 09:55:48
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
No veo donde vuelves a asignar el valor al TV con el nuevo valor que obtienes de sumarPedido()
Responder Con Cita
  #6  
Viejo 11/02/14, 13:54:25
Avatar de Manu14s
Manu14s Manu14s no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: oct 2013
Mensajes: 15
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Tv.invalidate(); con eso deberia servir o que deberia usar?,?gracias
Responder Con Cita
  #7  
Viejo 11/02/14, 14:08:53
Avatar de Manu14s
Manu14s Manu14s no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: oct 2013
Mensajes: 15
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Ahhhh vale vale...debo volver a asignar el valor..dios que cabeza la mia....
Responder Con Cita
Respuesta

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


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 21:53:28 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007