Latest web development tutorials

Lista de fragmentación de Android

Básicamente, una lista de los fragmentos se utiliza para crear una lista de elementos en los escombros

imagen


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 etiqueta
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 imagen 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:

imagen