PDA

Ver la Versión Completa : Duda sobre navigation drawe


pyciy
07/12/14, 21:57:19
Hola, ya he conseguido que funcione navigation drawer en una app pero tengo el problema de que ya dentro de una actividad no consigo cargar un listview, un botón y un texto si funciona pero un listview no. Alguien sabe como hacerlo? No encuentro info de esto en ningún lado. Gracias

rafaxplayer
08/12/14, 10:08:26
Si te refieres a implementar un listview en el drawer , aqui tienes un ejemplo sencillo:
http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/

pyciy
08/12/14, 18:19:19
Si te refieres a implementar un listview en el drawer , aqui tienes un ejemplo sencillo:
http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/
Problema esta en un listview dentro del fragment home

milup26
08/12/14, 18:58:17
Hola.

Puedes decir más información para que te podamos ayudar mejor?, también a ser posible el error que te genera el problema.

Tengo una app con el navigation y listview en fragment, por eso digo que seas más conciso en el detalle para poder ayudarte.

Un saludo.

pyciy
08/12/14, 19:48:02
Hola.

Puedes decir más información para que te podamos ayudar mejor?, también a ser posible el error que te genera el problema.

Tengo una app con el navigation y listview en fragment, por eso digo que seas más conciso en el detalle para poder ayudarte.

Un saludo.
Gracias milup26 por interesarte, parece que ya lo he conseguido aunque me queda hacerlo personaliza con un adapter. Lo que he hecho para implementarlo es: dentro de homefragment.java he cambiado
Lista = (listview) findviewbyid......
Por
Lista = (listview) rootview.findviewbyid......

milup26
08/12/14, 19:50:57
Si, eso es uno de las diferencias entre activity y fragment. Tienes que usar un View delante del findview(R.id). Otro error común que a mi me salío al principio es donde hay metodos con this, hay que poner this.getactivity() o nombre de la clase delante.

Un saludo.

pyciy
08/12/14, 19:52:37
Si, eso es uno de las diferencias entre activity y fragment. Tienes que usar un View delante del findview(R.id). Otro error común que a mi me salío al principio es donde hay metodos con this, hay que poner this.getactivity() o nombre de la clase delante.

Un saludo.
Gracias, si tengo algun problemilla pregunto.

pyciy
08/12/14, 20:17:50
Bien, ha vuelto a pasar este es mi codigo de la clase homefragment.http://tapatalk.imageshack.com/v2/14/12/08/465b908c479edc954e8ffb170feb8f51.jpg

Tengo que decir que me dice null pointer exception, pero cuando quito la linea
Lista.setadapter(adapter) funciona la app pero claro no se ve nada, eso es normal.
Eso que solo quiero hacer para probar un listview de string, cuando haga el listview personalizado...[emoji36] [emoji36] [emoji36]

pyciy
08/12/14, 20:26:59
Mi problema son los fragment...porque listviews he hecho muchos. A ver quien me ayuda

pyciy
08/12/14, 21:55:12
Ayudita....

rafaxplayer
08/12/14, 22:32:32
yo personalmente no he usado mucho fragment pero siempre ehe usado OnCreate view para inflar el view solo .

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.list_fragment, container, false);

}

y en OnActivitycreated declaras el listview y aplicas el adapter por ejemplo:

@Override
public void onActivityCreated(Bundle savedInstanceState) {

lst = (ListView) getView().findViewById(R.id.listView1);
ArrayAdapter....
lst.setadapter(adapter)...

}

Prueva que no sea esto.

pyciy
08/12/14, 22:37:04
yo personalmente no he usado mucho fragment pero siempre ehe usado OnCreate view para inflar el view solo .

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.list_fragment, container, false);

}

y en OnActivitycreated declaras el listview y aplicas el adapter por ejemplo:

@Override
public void onActivityCreated(Bundle savedInstanceState) {

lst = (ListView) getView().findViewById(R.id.listView1);
ArrayAdapter....
lst.setadapter(adapter)...

}

Prueva que no sea esto.
Lo probare y comento

milup26
08/12/14, 22:44:30
Creo que tu problema es tu vector o array. Tienes puesto:

String [] valores=new String[]{"primera frase","segunda frase","tercera frase"};

Estas mezclando dos cosas, por un lado lo estas dimensionando vacío, y luego llenando. El eclipse se lo traga pero no se hasta que punto es correcto eso. Aprendí a usar los vectores así:

String [] valores={"primera frase","segunda frase","tercera frase"};

Luego en caso de querer llenar un vector en un bucle lo dimensiono y creo las posiciones:

String [] valores=new String[3];

Y en un bucle lo lleno.

El caso, que prueba a quitar el new String[], porque por lo demás lo veo bien.

edito: Dices que te sale la excepción Null Pointer Exception, esta excepción creo que es que se sale de rango el vector.

pyciy
08/12/14, 22:46:44
Creo que tu problema es tu vector o array. Tienes puesto:

String [] valores=new String[]{"primera frase","segunda frase","tercera frase"};

Estas mezclando dos cosas, por un lado lo estas dimensionando vacío, y luego llenando. El eclipse se lo traga pero no se hasta que punto es correcto eso. Aprendí a usar los vectores así:

String [] valores={"primera frase","segunda frase","tercera frase"};

Luego en caso de querer llenar un vector en un bucle lo dimensiono y creo las posiciones:

String [] valores=new String[3];

Y en un bucle lo lleno.

El caso, que prueba a quitar el new String[], porque por lo demás lo veo bien.
Esto es un ejemplo de internet que he cogido,supongo que estara bien pero lo pruebo tambien como dices

milup26
08/12/14, 23:10:57
Lo he probado y funciona como te digo, por curiosidad lo he probado como tu lo tenías y también funciona. Si te sigue dando error, pon el código de la clase que llama a ese fragment.

pyciy
09/12/14, 14:09:38
Lo he probado y funciona como te digo, por curiosidad lo he probado como tu lo tenías y también funciona. Si te sigue dando error, pon el código de la clase que llama a ese fragment.
Ok gracias esta noche lo pongo que estoy en el trabajo

pyciy
12/12/14, 19:03:49
yo personalmente no he usado mucho fragment pero siempre ehe usado OnCreate view para inflar el view solo .

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.list_fragment, container, false);

}

y en OnActivitycreated declaras el listview y aplicas el adapter por ejemplo:

@Override
public void onActivityCreated(Bundle savedInstanceState) {

lst = (ListView) getView().findViewById(R.id.listView1);
ArrayAdapter....
lst.setadapter(adapter)...

}

Prueva que no sea esto.
Bien, acabo de probarlo y no me funciona, el codigo es este:
http://tapatalk.imageshack.com/v2/14/12/12/76e8ae184aefb308544b8a3e5e38f69e.jpg

Espero que se vea. Si comento el metodo onactivitycreated entero funciona pero si lo dejo da error y el error pone:http://tapatalk.imageshack.com/v2/14/12/12/016e7bd249fc282799d6fd7967384157.jpg

Perdonad que ponga fotos pero creo que es lo mas rapido y espero que se vea

pyciy
12/12/14, 19:15:33
Si hago lo mismo con un boton funciona pero si lo hago con un listview casca😤