Latest web development tutorials

Liste de fragmentation Android

Fondamentalement, une liste de fragments est utilisé pour créer une liste d'éléments dans les débris

image


Exemples

Cet exemple explique comment créer une liste basée sur ArrayAdapter débris. Suivons les étapes suivantes pour commencer:

étape description
1 Utilisez Android Studio pour créer une application Android, nommée Liste Fragment, le nom du package cn.uprogrammer.listfragment
2 Modifiez le fichier de chaîne, ajouter de nouvelles constantes de chaîne dans res / valeurs / string.xml dans
3 Créez un fichier nommé list_fragment.xml mise en page dans res / layout pour définir une liste de morceaux, et ajouter dans le activity_main.xml étiquette
4 Créer un fichier MyListFragment.java qui contient onCreateView (), onActivityCreated () et OnItemClickListener ().
5 Lancez l'émulateur Android pour exécuter l'application et de vérifier les résultats des modifications apportées à l'application.

Avant de commencer le codage, les constantes de chaîne d'initialisation dans string.xml res / valeurs répertoire sous.

<?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>

Ce qui suit est le contenu de la mise en page res fichier / / activity_main.xml, qui contient une mise en page et les débris étiquette linéaire.

<?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>

Ce qui suit est le contenu de la mise en page res fichier / / list_fragment.xml, qui contient une disposition linéaire, List View et TextView.

<?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>

Ce qui suit est le contenu du fichier src / cn.uprogrammer.listfragment / de MyListFragment.java. Avant de commencer le codage, vous devez suivre quelques étapes comme suit:

  • Créer la classe MyListFragment qui hérite de ListFragment.
  • Dans le procédé onCreateView (), en utilisant le schéma XML list_fragment défini ci-dessus pour remplir la vue.
  • Dans onActivityCreated () méthode, en utilisant un tableau de chaînes R.array.planet string.xml des ressources définies pour créer un ArrayAdapter, et l'adaptateur est réglé sur la liste de vue, et définir la liste des articles Cliquez Listener
  • Dans la méthode OnItemClickListener (), par le biais d'un message de pain grillé pour afficher la position de l'élément est cliqué
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();
    }
}

Le code suivant est le MainActivity.java contenu:

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);
    }
}

Ce qui suit est le contenu du fichier 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>

Disons simplement exécuter l'application Liste Fragment modifiée. Je suppose que vous avez créé AVD au cours de l'environnement d'installation. Ouvrez votre projet dans le fichier actif, cliquez sur la barre d'outils image Icône pour exécuter l'application Dans Android Studio. Android studio installer l'application sur la DAV et démarre. Si tout va bien, il sera affiché sur la fenêtre de l'émulateur comme suit:

image