Lista de fragmentación de Android
Básicamente, una lista de los fragmentos se utiliza para crear una lista de elementos en los escombros
Ejemplos
En este ejemplo se explica cómo crear una lista basada en los escombros ArrayAdapter. Vamos a seguir los siguientes pasos para comenzar:
paso | descripción |
---|---|
1 | Usar Android Studio para crear una aplicación para Android, llamada Lista Fragmento, el nombre del paquete cn.uprogrammer.listfragment |
2 | Modificar el archivo de cadena, añadir un nuevo constantes de cadena en res / valores / string.xml en |
3 | Cree un archivo denominado list_fragment.xml diseño en res / layout para definir una lista de piezas, y poner en el activity_main.xml |
4 | Crear el archivo que contiene MyListFragment.java onCreateView (), onActivityCreated () y OnItemClickListener (). |
5 | Lanzar emulador de Android para ejecutar la aplicación y verificar los resultados de los cambios realizados en la aplicación. |
Antes de comenzar la codificación, las constantes de cadena de inicialización en string.xml res / valores directorio bajo.
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">listfragment</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <string name="title_activity_main">List Fragment Demo</string> <string name="imgdesc">imgdesc</string> <string-array name="Planets"> <item>Sun</item> <item>Mercury</item> <item>Venus</item> <item>Earth</item> <item>Mars</item> <item>Jupiter</item> <item>Saturn</item> <item>Uranus</item> <item>Neptune</item> </string-array> </resources>
El siguiente es el contenido de res / archivo de diseño / activity_main.xml, que contiene una etiqueta de composición y escombros lineal.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <fragment android:id="@+id/fragment1" android:name="cn.uprogrammer.listfragment.MyListFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
El siguiente es el contenido de res / archivo de diseño / list_fragment.xml, que contiene una disposición lineal, de lista y Vista de Texto.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> <TextView android:id="@android:id/empty" android:layout_width="match_parent" android:layout_height="wrap_content" > </TextView> </LinearLayout>
El siguiente es el contenido del fichero src / cn.uprogrammer.listfragment / MyListFragment.java. Antes de comenzar la codificación, es necesario seguir algunos pasos de la siguiente manera:
- Crear clase que hereda de MyListFragment ListFragment.
- En el método onCreateView (), utilizando el diseño list_fragment XML definido anteriormente para llenar la vista.
- En el método onActivityCreated (), utilizando una matriz de cadenas R.array.planet string.xml recursos definidos para crear un ArrayAdapter, y el adaptador se establece en la vista de lista, y establecer la lista de artículos Haga clic Oyente
- En el método OnItemClickListener (), a modo de mensaje de aviso emergente para mostrar la posición del elemento se hace clic
package cn.uprogrammer.listfragment; import android.app.ListFragment; import android.annotation.SuppressLint; import android.app.ListFragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.Toast; public class MyListFragment extends ListFragment implements OnItemClickListener { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.list_fragment, container, false); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.Planets, android.R.layout.simple_list_item_1); setListAdapter(adapter); getListView().setOnItemClickListener(this); } @Override public void onItemClick(AdapterView<?> parent, View view, int position,long id) { Toast.makeText(getActivity(), "Item: " + position, Toast.LENGTH_SHORT).show(); } }
El siguiente código es el MainActivity.java contenido:
package cn.uprogrammer.listfragment; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
El siguiente es el contenido del archivo AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.uprogrammer.listfragment"> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
Vamos a ejecutar la aplicación Lista fragmento modificado. Asumo que ha creado AVD en el entorno de instalación. Abra el proyecto en el archivo activo, haga clic en la barra de herramientas Icono para ejecutar la aplicación en Android Studio. Android Estudio instalar la aplicación en la AVD y la inicia. Si todo va bien, se mostrará en la ventana de emulación de la siguiente manera: