Foros del Web » Programando para Internet » Android »

[SOLUCIONADO] Problema con un listView

Estas en el tema de Problema con un listView en el foro de Android en Foros del Web. Hola , que tal?? Estoy intentando hacer una aplicación que me muestra un listView de elementos sacados de un XML que tengo el el localhost. ...
  #1 (permalink)  
Antiguo 25/02/2013, 06:47
 
Fecha de Ingreso: noviembre-2012
Mensajes: 13
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con un listView

Hola , que tal??
Estoy intentando hacer una aplicación que me muestra un listView de elementos sacados de un XML que tengo el el localhost. Hasta ahí todo bien, funciona genial. El problema lo tengo cuando al hacer click sobre cada item, necesito que me muestre más información del XML, y no lo consigo. Podéis echarme una mano??? Estoy a punto de volverme loca. Os dejo aquí el código:

Código Java:
Ver original
  1. package com.example.aplicacion;
  2.  
  3. import java.util.ArrayList;
  4. import org.w3c.dom.Document;
  5. import org.w3c.dom.Element;
  6. import org.w3c.dom.NodeList;
  7. import android.app.Activity;
  8. import android.content.Intent;
  9. import android.os.AsyncTask;
  10. import android.os.Bundle;
  11. import android.view.View;
  12. import android.widget.AdapterView;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.ListView;
  15.  
  16. public class Lista extends Activity {
  17.    
  18.     ListView listView1;
  19.     @Override
  20.     protected void onCreate(Bundle savedInstanceState) {
  21.         super.onCreate(savedInstanceState);
  22.         setContentView(R.layout.activity_lista);
  23.        
  24.         listView1 = (ListView) findViewById(R.id.listView1);
  25.         new DescargaXML().execute("http://192.168.0.120/listaTattoos.xml");
  26.  
  27.     }
  28.    
  29.     public class DescargaXML extends AsyncTask<String, Void, String> {
  30.  
  31.         static final String KEY_ITEM = "tattoo";
  32.         static final String KEY_ID = "id";
  33.         static final String KEY_TIPO = "tipo";
  34.         static final String KEY_COLORES = "colores";
  35.        
  36.        
  37.  
  38.         private XMLParser parser;
  39.        
  40.         @Override
  41.         protected String doInBackground(String... url) {
  42.             parser = new XMLParser();
  43.             // Recoger la dirección del archivo XML que se ha pasado como parámetro
  44.             //      al llamar al método execute
  45.             String clasificacionXML = parser.getXmlFromUrl(url[0]);
  46.            
  47.             // Esto que se retorna, lo recibirá onPostExecute por parámetro
  48.             // Es el contenido del archivo XML como String
  49.             return clasificacionXML;
  50.         }
  51.        
  52.         @Override
  53.         protected void onPostExecute(String result) {
  54.             super.onPostExecute(result);
  55.            
  56.             // ArrayList que va a almacenar la lista de contactos para asignársela al ListVew
  57.             ArrayList<Consulta> arrayListConsulta = new ArrayList<Consulta>();
  58.            
  59.             // En el parámetro result se ha recibido el contenido del archivo XML como String
  60.             Document docConsultaXML = parser.getDomElement(result);
  61.             // Obtener la lista de nodos del documento XML
  62.             NodeList listaNodosXML = docConsultaXML.getElementsByTagName(KEY_ITEM);
  63.            
  64.             // Recorrer la lista de nodos para obtener los datos de cada elemento
  65.             for (int i = 0; i < listaNodosXML.getLength(); i++) {
  66.                 Element elementoXML = (Element) listaNodosXML.item(i);
  67.                 // Obtener los datos de ese elemento
  68.                 String id = parser.getValue(elementoXML, KEY_ID);
  69.                 String tipo = parser.getValue(elementoXML, KEY_TIPO);
  70.                 String colores = parser.getValue(elementoXML, KEY_COLORES);
  71.                 // Guardar los datos en un objeto y almacenarlo en el ArrayList
  72.                 Consulta consulta = new Consulta(id, tipo, colores);
  73.                 arrayListConsulta.add(consulta);
  74.             }
  75.            
  76.             // Asignar el ArrayList al ListView de la pantalla
  77.             ArrayAdapter<Consulta> adapter = new ArrayAdapter<Consulta>(Lista.this,
  78.                     android.R.layout.simple_list_item_1, arrayListConsulta);
  79.             listView1.setAdapter(adapter);
  80.        
  81.         }
  82.        
  83.     }
  84. }

No me importa si la información aparece en otro listView, en un toast, un textView... Lo que quiero es que aparezca al hacer click.

Gracias!!

Etiquetas: activity, app, java, listview, todo
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 00:32.