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 06/07/10, 02:03:06
Array

[xs_avatar]
diamant-x diamant-x no está en línea
Usuario muy activo
 
Fecha de registro: ago 2008
Mensajes: 1,549

Mostrar Resultados en una Lista

Bueno, después de mucho buscar y probar diferentes combinaciones no he obtenido nada en claro que me funcione.
Siempre encuentro opciones para crear las listas al cargar la aplicación a partir de datos ya existentes, o bien a cargarlos a partir de bases de datos, pero cuando intento adaptarlo a mi caso no consigo nada producente.

La cosa está en que quiero que cuando pulse un boton, llama un Thread que obtiene una serie de Strings (conjuntos de 3) de una web (hasta aquí bien). Quiero que muestre esos Strings en una lista.

Ahor amismo tengo un fragmento de mi main.xml así:
Código:
<ListView
                android:id="@android:id/list"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
<TextView 
                android:id="@id/android:empty"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:text="No data" />
que va bién, (bueno, siempre me muestra el No Data )

Y para las Row de la lista tengo puesto:
Código:
<relativelayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="6dip"
    android:weightSum="1.0" >
    <textview
        android:id="@+id/elemento_descarga_nombre"
         android:layout_weight=".5"
         android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:singleLine="true"
        android:ellipsize="marquee"/>
    <textview
        android:id="@+id/elemento_descarga_tamanyo"
        android:layout_weight=".3"
         android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:layout_toRightOf="@id/elemento_descarga_nombre"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:singleLine="true"
        android:ellipsize="marquee"/>
    <textview
        android:id="@+id/elemento_descarga_porcentaje"
        android:layout_weight=".2"
         android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:layout_toRightOf="@id/elemento_descarga_tamanyo"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:singleLine="true"
        android:ellipsize="marquee"/>
</relativelayout>
La cuestion es que no consigo redactar un fragmento que que me muestre las triadas de información en la lista...
Algo asi como:
Nombre1 Tamaño1 Porcentaje1
Nombre2 Tamaño2 Porcentaje2
...

intenté algo así como (he simplificado aqui el While)
Código:
m_locals = new ArrayList<Local>();
m_adapter = new IconListViewAdapter(getBaseContext(), R.layout.iconrow, m_locals);

while (Obtener_Todas_las_Descargas){
                    
                    Local o = new Local();
                    
                    o.setLocalName(String Nombre);
                    
                    o.setLocalPercentage(String Porcentaje);
                    
                    o.setLocalSize(String Tamaño);
                    
                    m_locals.add(o);
                }

if(m_locals != null & m_locals.size() > 0){
                    for(int i=0;i<m_locals.size();i++)
                    m_adapter.add(m_locals.get(i));
                    }

                    m_adapter.notifyDataSetChanged();
Pero nada... No me devolvia ningun error, pero acabava el thread y no hacia nada.. U.U'

Gracias, un saludo!
__________________
.
Responder Con Cita


  #2  
Viejo 06/07/10, 15:08:21
Array

[xs_avatar]
serxoker serxoker no está en línea
Miembro del foro
 
Fecha de registro: sep 2009
Mensajes: 214

Hola,
el arraylist no debe ser de objetos sino de hashset asi lo puedes adaptar a la lista y cuando el arraylist cambien la lista cambia ( que por cierto no es asi busca en los ejemplos que tienes con el sdk que lo explican)

Saludos.
Responder Con Cita
  #3  
Viejo 06/07/10, 18:52:36
Array

[xs_avatar]
diamant-x diamant-x no está en línea
Usuario muy activo
 
Fecha de registro: ago 2008
Mensajes: 1,549

Ando viendo y por lo que estoy deduciendo, tengo que crear una clase nueva ke extienda a ListActivity y en ella haer todas las acciones de edicion de la lista, cierto? Intentaba meterlo todo en el main ke simplemente extiende a "Activity" y supongo que se queda coja...

Ahora voy a intentar encontrar información sobre las clases (voy aprendiendo Java sobre la marcha a base de ejemplos, pero hasta ahora no he encontrado información de para que sirve crear diferentes clases y si estas tienen que ir en diferentes archivos .java o no...)

Gracias por responder! A ver si alguien más puede darme luz sobre el tema...
__________________
.
Responder Con Cita
  #4  
Viejo 13/07/10, 14:32:30
Array

[xs_avatar]
SergioAndroid SergioAndroid no está en línea
Miembro del foro
· Votos compra/venta: (1)
 
Fecha de registro: abr 2010
Localización: Madrid
Mensajes: 238
Modelo de smartphone: Nexus One
Tu operador: Vodafone
Yo el como lo hago es estableciendo el adapter de dicha lista, vamos:

pruebaListAdapter= new PruebaListAdapter(this, R.layout.singlerow,arraydemientidad);
l = (ListView)findViewById(R.id.ListView01);

l.setAdapter(pruebaListAdapter);


siendo PruebaListAdapter del estilo de:

public class PruebaListAdapter extends ArrayAdapter<mientidad>{
private Context context;
private NotificationManager mNotificationManager;
...................


Haciendo un override de getView

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null){
LayoutInflater vi = (LayoutInflater)context.getSystemService(Context.L AYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.singlerow, null);
}


Song song = getItem(position);
if (song != null){
TextView testview1 = (TextView) v.findViewById(R.id.TextView01);
TextView sizeText = (TextView)v.findViewById(R.id.TextSizeFile);

..............

Tampoco voy a brasear pegando todo el codigo, pero la base es esa, vamos una lista tiene que tener un layout de lo que sea cada uno de los items a representar luego con el adapter pones los datos de cada entidad de tu array como quieras en el layout de cada item del listview
Responder Con Cita
Respuesta

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



Hora actual: 22:55:29 (GMT +1)



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

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