![]() |
|
| 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 |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Hola estoy intentando crear una lista con cada linea de un txt guardado como recurso raw, el problema esta en que el bucle while solo lee la primera linea del archivo, copio el código a continuacion:
Código:
int indice=0;
String linea;
TextView tv1;
ListView lv1;
String[] datos=new String[1];
tv1=(TextView)findViewById(R.id.textView1);
Bundle bundle = getIntent().getExtras();
String autor = bundle.getString("autor");
int resource = getResources().getIdentifier(autor, "raw", "proyec.to1");
try
{
InputStream fraw = getResources().openRawResource(resource);
BufferedReader brin = new BufferedReader(new InputStreamReader(fraw));
while((linea = brin.readLine()) != null){
datos[indice]=linea;
indice=indice+1;
tv1.setText(linea);
}
lv1=(ListView)findViewById(R.id.listView1);
lv1.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, datos));
fraw.close();
}
catch (Exception ex)
{
Log.e("Ficheros", "Error al leer fichero.");
}
|
|
|
|
#2
|
||||
|
||||
|
String[] datos=new String[1];
Lo raro es que no te de excepción cuando intenta escribir en datos[1] |
|
#3
|
||||
|
||||
|
Me corre la aplicación perfectamente, solo que lee solamente la primera linea del archivo txt, soy nuevo en android, vengo de php
![]() Entonces puede tener que ver con el array? He mirado como crear un array pero en ningún sitio sale como hacerlo sin especificar el numero de registros que tendrá Saludos |
|
#4
|
||||
|
||||
|
Puedes crear un ArrayList e ir añadiendo Strings con add.
De todas formas la primera prueba que deberías hacer es poner el String con una dimensión de 2, a ver si te lo coge (que no debería, si no estaría dando excepción). Porque si no lo coge lo más probable es que el fichero esté en un formato incorrecto y no interpreta bien los saltos de línea. |
|
#5
|
||||
|
||||
|
Si pongo una dimensión de 2 se me cuelga cuando el archivo tiene dos lineas pero no cuando tiene mas, de todas formas si me lo lee, si pongo solo:
while((linea = brin.readLine()) != null){ tv1.setText(linea); } tv1 muestra la ultima frase del archivo, pero no si lo guardo en el array, lo mismo sera eso, voy a mirar con un ArrayList haber que pasa |
|
#6
|
||||
|
||||
|
Funciona a la perfección usando ArrayList, muchas gracias
copio el código por si a alguien le puede servir: Código:
int indice=0;
String linea;
TextView tv1;
ListView lv1;
ArrayList<String> datos=new ArrayList<String>();
Bundle bundle = getIntent().getExtras();
String autor = bundle.getString("autor");
int resource = getResources().getIdentifier(autor, "raw", "proyec.to1");
try
{
InputStream fraw = getResources().openRawResource(resource);
BufferedReader brin = new BufferedReader(new InputStreamReader(fraw));
while((linea = brin.readLine()) != null){
datos.add(linea);
}
lv1=(ListView)findViewById(R.id.listView1);
lv1.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, datos));
fraw.close();
}
catch (Exception ex)
{
Log.e("Ficheros", "Error al leer fichero.");
}
|
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
| Herramientas | |
|
|
Hora actual: 20:04:57 (GMT +1)
HTCMania: líderes desde el 2007






