Foros del Web » Programando para Internet » Android »

[SOLUCIONADO] formatear cantidades en un ListView

Estas en el tema de formatear cantidades en un ListView en el foro de Android en Foros del Web. Hola a todos: Alquien sabe como formatear cantidades cuando en un listview. ejemplo. Jose Perez Garcia 1.256,39 aaa add ddd 0,36 mmm mmm mmmm 125,01 ...
  #1 (permalink)  
Antiguo 12/06/2014, 05:47
Avatar de ManelGomez  
Fecha de Ingreso: diciembre-2007
Ubicación: El Prat de llobregat
Mensajes: 180
Antigüedad: 17 años
Puntos: 2
formatear cantidades en un ListView

Hola a todos:

Alquien sabe como formatear cantidades cuando en un listview.

ejemplo. Jose Perez Garcia 1.256,39
aaa add ddd 0,36
mmm mmm mmmm 125,01
kkk kkkk kkkk - 352,63

Supondo que para los numeros de telefono/etc cambiando el formato saldria 555.555.555

un saludo
  #2 (permalink)  
Antiguo 13/06/2014, 02:48
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 5 meses
Puntos: 361
Respuesta: formatear cantidades en un ListView

Hola:

Yo creo un método, por ejemplo visualizaDosDecimales, al que envío un double y me devuelve un string.

Código Java:
Ver original
  1. public String visualizaDosDecimales(double numero) {
  2.         DecimalFormat df = new DecimalFormat("0.00");
  3.         String strTotal = df.format(numero);
  4.         return strTotal;
  5.     }

y ese string es el que visualizo en el ListView.

Saludos.

  #3 (permalink)  
Antiguo 13/06/2014, 09:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: formatear cantidades en un ListView

Depende de lo que quieras formatear:

Si es para cantidades monetarias: http://stackoverflow.com/questions/7...urrency-format

Si son telefonos: Puedes usar PhoneUtils http://stackoverflow.com/questions/6...onenumberutils
  #4 (permalink)  
Antiguo 13/06/2014, 11:06
Avatar de ManelGomez  
Fecha de Ingreso: diciembre-2007
Ubicación: El Prat de llobregat
Mensajes: 180
Antigüedad: 17 años
Puntos: 2
Respuesta: formatear cantidades en un ListView

Hola Jomaruro.

Gracias por tu colaboracion. Pero donde haces la llamada. ¿ Cuando estas recoriendo los datos con el cursor. Hay algun sitio mejor.

Gracias tambien a Raspeitia.

Un saludo
  #5 (permalink)  
Antiguo 14/06/2014, 06:36
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 5 meses
Puntos: 361
Respuesta: formatear cantidades en un ListView

Hola:

En el caso concreto de donde he sacado el método que te he mostrado antes, tengo un adaptador para personalizar el ListView, entonces llamo al método cuando voy a setear el valor que quiero mostrar en un TextView.

Código Java:
Ver original
  1. strTotal = lin.visualizaDosDecimales(total);
  2. txtTotal = (TextView) findViewById(R.id.total_compra);
  3. txtTotal.setText(strTotal);

strTotal es un String.
lin es la implementación de la clase donde tengo definido el método visualizaDosDecimales
total es un double, el que envío al método para formatearlo.
txtTotal es el TextView donde voy a mostrar la cantidad.

Espero que te haya servido.

Saludos.
  #6 (permalink)  
Antiguo 15/06/2014, 04:13
Avatar de ManelGomez  
Fecha de Ingreso: diciembre-2007
Ubicación: El Prat de llobregat
Mensajes: 180
Antigüedad: 17 años
Puntos: 2
Respuesta: formatear cantidades en un ListView

Hola Jomaruro.

Oleeeeeeeeeeee por sevilla.

Gracias. más o menos me lo imaginaba que tendria que hacer un adapter personalizado. Y aqui, hacer la implementación.

Un saludo.
.
  #7 (permalink)  
Antiguo 15/06/2014, 05:19
Avatar de ManelGomez  
Fecha de Ingreso: diciembre-2007
Ubicación: El Prat de llobregat
Mensajes: 180
Antigüedad: 17 años
Puntos: 2
Respuesta: formatear cantidades en un ListView

Hola Jomaruro.

Una Cosa.

Tu clase lin, es una clase que extiends de BaseAdapter.

Un saludo.
  #8 (permalink)  
Antiguo 17/06/2014, 03:40
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 5 meses
Puntos: 361
Respuesta: formatear cantidades en un ListView

Hola:

No, es simplemente una clase DAO donde tengo los métodos que interaccionan con la base de datos.

Saludos.

  #9 (permalink)  
Antiguo 17/06/2014, 03:42
Avatar de ManelGomez  
Fecha de Ingreso: diciembre-2007
Ubicación: El Prat de llobregat
Mensajes: 180
Antigüedad: 17 años
Puntos: 2
Respuesta: formatear cantidades en un ListView

Hola a todos:

Bueno decir que con las indicaciones, no soy capaz de dar formato. Puede que sea esa la funcion, pero donde lo coloco no funciona, la aplicacion me saldo que se ha detenido.

Yo intento colocarlo en una Adapter personalizado que extiends de BaseAdapter en el metodo public View getView, pero no hay manera.

Si alquien puede mostrar el codigo o explicar detenidamente donde, bienvenido sea.

La historia seria que ademas de formatear cantidades, tambien podria servir para telefonos. 96.205.XX.XX Por ejemplo.

Un saludo
  #10 (permalink)  
Antiguo 22/06/2014, 03:54
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 5 meses
Puntos: 361
Respuesta: formatear cantidades en un ListView

Hola:

Cita:
Iniciado por ManelGomez Ver Mensaje
Bueno decir que con las indicaciones, no soy capaz de dar formato. Puede que sea esa la funcion, pero donde lo coloco no funciona, la aplicacion me saldo que se ha detenido.
¿Y que te indica el LogCat?

Saludos.

  #11 (permalink)  
Antiguo 26/06/2014, 06:05
Avatar de ManelGomez  
Fecha de Ingreso: diciembre-2007
Ubicación: El Prat de llobregat
Mensajes: 180
Antigüedad: 17 años
Puntos: 2
Respuesta: formatear cantidades en un ListView

Hola:

Ahora no me da ningun error, pero la cadena no la formatea:

Código PHP:
    @Override
    
public View getView(int positionView convertViewViewGroup parent) {
        
View vi        convertView;
        
VistaHolder vh null;
        if (
vi == null) {
            
vi  minflater.inflate(R.layout.contact_list_rownull);
            
vh = new VistaHolder();
            
vh.name  = (TextViewvi.findViewById(R.id.tv_name);
            
vh.phone = (TextViewvi.findViewById(R.id.tv_phone);
            
vi.setTag(vh);
        }
        
vh = (VistaHoldervi.getTag();
        
Items contactListItems mcontactList.get(position);        
        
vh.name.setText(contactListItems.getName());
        
vh.phone.setText(FormatearCadena(contactListItems.getPhone()));
    return 
vi;
    }

    public 
String FormatearCadena(String cadena) {
        
DecimalFormat df = new DecimalFormat("###-###-###-###");
        
String strPhone df.format(cadena);
        return 
strPhone
    } 
Esta porcion de código es de un adaptador personalizado que extiends de un BaseAdapter. Entre los métodos el más importe es el public View getView, es aqui donde intento formatear el dato, en este caso el campo phone definido como un string en la tabla y en la clase.

Tal como decia Jomaruro y Raspeitia voy a mirar lo logcat y el stackoverflow.

un saludo.
  #12 (permalink)  
Antiguo 26/06/2014, 16:31
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 5 meses
Puntos: 361
Respuesta: formatear cantidades en un ListView

Hola:

El problema es que DecimalFormat es para números y entiendo que le envías un String.

A ver si estos ejemplos, en concreto el tercero te sirve de orientación: Manejo de cadenas de caracteres en Java.

Si no creo que otra opción sería convertir el string del teléfono en un número formatearlo como quieres y reconvertirlo en String.

Saludos.


Última edición por jomaruro; 26/06/2014 a las 16:44

Etiquetas: formatear, listview
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 07:31.