Latest web development tutorials

Lista frammentazione Android

Fondamentalmente un elenco di frammenti viene usato per creare un elenco di elementi nei detriti

immagine


Esempi

Questo esempio spiega come creare un elenco basato su detriti ArrayAdapter. Seguiamo per iniziare le seguenti operazioni:

passo descrizione
1 Utilizzare Android Studio per creare un'applicazione Android, denominata Lista frammento, il nome del pacchetto cn.uprogrammer.listfragment
2 Modificare il file di stringa, aggiungere una nuova costanti stringa in res / valori / string.xml in
3 Creare un file denominato list_fragment.xml layout in res / layout per definire un elenco di brani, e aggiungere nella activity_main.xml etichetta
4 Creare file di MyListFragment.java che contiene onCreateView (), onActivityCreated () e OnItemClickListener ().
5 Avviare emulatore di Android per eseguire l'applicazione e verificare i risultati delle modifiche apportate all'applicazione.

Prima di iniziare la codifica, le costanti stringa di inizializzazione in string.xml res / valori directory sotto.

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

Quello che segue è il contenuto della res / file / activity_main.xml di layout, che contiene un'etichetta di layout e detriti lineare.

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

Quello che segue è il contenuto della res / file / list_fragment.xml di layout, che contiene un layout lineare, List View e 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>

Quanto segue è il contenuto del file src / cn.uprogrammer.listfragment / MyListFragment.java. Prima di iniziare la codifica, è necessario seguire alcuni passi come segue:

  • Crea classe che eredita da MyListFragment ListFragment.
  • Nel metodo onCreateView (), utilizzando il layout list_fragment XML sopra definita per riempire la vista.
  • In onActivityCreated () metodo, utilizzando un array di stringhe R.array.planet risorse string.xml definito per creare un ArrayAdapter, e l'adattatore è impostato alla visualizzazione di elenco, e impostare l'elenco degli articoli Clicca Listener
  • Nel metodo OnItemClickListener (), per mezzo di un messaggio brindisi per visualizzare la posizione della voce si fa 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();
    }
}

Il seguente codice è il MainActivity.java contenuti:

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

Quello che segue è il contenuto del file 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>

Diciamo solo eseguire l'applicazione Lista frammento modificato. Presumo che hai creato AVD durante l'ambiente di installazione. Aprire il progetto nel file attivo, fare clic sulla barra degli strumenti immagine Icona per eseguire l'applicazione in Android Studio. Android Studio installare l'applicazione sul AVD e lo avvia. Se tutto va bene, sarà visualizzata la finestra di emulazione come segue:

immagine