Ver la Versión Completa : Hacer una lista en un fragment
carlesqf
19/12/14, 12:26:53
Quiero hacer algo para lo que por lo que he visto en internet, la herramienta fragment es perfecta.
Consiste en tener dos fragments, uno encima del otro. En el primero un listview muy sencillo, con solo una linea de texto por opción. Y en el segundo un texto que variará según la opción que se escoja de la lista.
Como la forma de resolver un gran problema, es dividirlo en pequeños problemas, El primer paso que quiero hacer es conseguir que aparezca la lista. Ya miraré entonces lo de la selección.
Y estoy encallado. Por más páginas que miro, la aplicación se continua cerrando cada vez que lo intento. Sin duda, se me escapa algo. Pero soy incapaz de encontrarlo. :loco::loco:
He averiguado que la herramienta "listview" de toda la vida no se puede utilizar en un fragment. Tienes que hacer servir su equivalente "listfragment". Y en cuanto intento poner el código, catacrac. :oh: :oh:
Me podeis decir donde encontrar un ejemplo funcional de esta herramienta? :-) No he podido localizarlo por internet y no consigo que funcione ninguno de los tutoriales que hay por allí.
O si quereis, pongo aquí el código que he hecho y me decis donde falla.
kriogeN
19/12/14, 19:22:10
El ListView funciona perfectamente en un Fragment, es una View normal y corriente, no tiene nada especial. Lo que ocurrirá es que la estarás usando mal.
De todas formas para lo que quieres hacer no necesitas 2 Fragments (de hecho es un poco salvajada), con poner el ListView encima de un TextView es más que suficiente.
Y ya de paso, es mejor usar el nuevo RecycleView en lugar de ListView. Así si luego quieres hacer cambios de distribución es más sencillo.
carlesqf
22/12/14, 18:28:47
Al final, lo he conseguido.
Tras mucho buscar, he encontrado un ejemplo funcional de lo que estaba buscando.
Pero ahora tengo otro problema que de nuevo no se solucionar.
Y es enfocar el segundo fragment desde el primero. Ocurre que el primero es muy largo, ocupa más de una pantalla.
Cuando selecciono una opción en el primero, aparece el mensaje correspondiente en el textview del segundo.
Pero aparece abajo de todo y he de moverme manualmente. Lo que yo querría es hacer aquello que en html se llama un ancla, enviar el foco a ese segundo fragment.
Y por mucho que busco, parece que no está contemplado.
Pero si yo he pensado en ello, seguro que alguien ya lo ha hecho y hay una solución. Podrías decirme como?
Al final, lo he conseguido.
Tras mucho buscar, he encontrado un ejemplo funcional de lo que estaba buscando.
Pero ahora tengo otro problema que de nuevo no se solucionar.
Y es enfocar el segundo fragment desde el primero. Ocurre que el primero es muy largo, ocupa más de una pantalla.
Cuando selecciono una opción en el primero, aparece el mensaje correspondiente en el textview del segundo.
Pero aparece abajo de todo y he de moverme manualmente. Lo que yo querría es hacer aquello que en html se llama un ancla, enviar el foco a ese segundo fragment.
Y por mucho que busco, parece que no está contemplado.
Pero si yo he pensado en ello, seguro que alguien ya lo ha hecho y hay una solución. Podrías decirme como?
Pongo aquí el "main.xml" por si es de alguna utilidad:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/svguerra"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/fons"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="538dp"
android:orientation="vertical" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:src="@drawable/fotoguerra" />
<!-- INTRODUCCIÓ -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="6dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="5dp"
android:text="@string/titolintroduccio"
android:textColor="#7b290d"
android:textSize="19sp"
android:textStyle="bold" />
<TextView
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/contingutintroduccio"
android:textColor="#000000" />
<fragment
android:id="@+id/frag_LlistCapitols"
android:layout_width="match_parent"
android:layout_height="870dp"
class="com.carlesqf.historiaguerra.LlistCapitols" />
<fragment
android:id="@+id/frag_ContCapitols"
android:layout_width="match_parent"
android:layout_height="600px"
class="com.carlesqf.historiaguerra.ContCapitols" />
</LinearLayout>
</ScrollView>
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.