Android: elenca frammento
Versione di supporto della libreria statica del ListFragment del framework. Utilizzato per scrivere app che vengono eseguite su piattaforme precedenti ad Android 3.0. Quando si esegue su Android 3.0 o versioni successive, questa implementazione viene ancora utilizzata.
The basic implementation of list fragment is for creating list of items in fragments
Elenco in frammenti
Esempio
Questo esempio ti spiegherà come creare il tuo frammento di elenco basato su arrayAdapter. Quindi seguiamo i seguenti passaggi in modo simile a quello che abbiamo seguito durante la creazione di Hello World Example -
Passo | Descrizione |
---|---|
1 | Utilizzerai Android Studio per creare un'applicazione Android e chiamarla SimpleListFragment in un pacchetto com.example.tutorialspoint7.myapplication , con Activity vuota. |
2 | Modificare il file di stringa, che è stato posizionato in res / values / string.xml per aggiungere nuove costanti di stringa |
3 | Crea un layout chiamato list_fragment.xml nella directory res / layout per definire i frammenti di elenco. e aggiungi il tag fragment (<fragment>) al tuo activity_main.xml |
4 | Crea un myListFragment.java, che si trova in java / myListFragment.java e conteneva onCreateView () , onActivityCreated () e OnItemClickListener () |
5 | Esegui l'applicazione per avviare l'emulatore Android e verifica il risultato delle modifiche apportate nell'applicazione. |
Prima di iniziare la codifica, inizializzerò le costanti della stringa all'interno del file string.xml nella directory res / values
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">ListFragmentDemo</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</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>
Di seguito sarà il contenuto di res/layout/activity_main.xmlfile. conteneva layout lineare e tag frammento.
<?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="com.example.tutorialspoint7.myapplication.MyListFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Di seguito sarà il contenuto di res/layout/list_fragment.xmlfile. conteneva layout lineare, visualizzazione elenco e visualizzazione testo
<?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>
di seguito sarà il contenuto di src/main/java/myListFragment.java file. prima di scrivere nel codice, è necessario seguire alcuni passaggi come mostrato di seguito
Crea una classe MyListFragment ed estendila a ListFragment.
Dentro il onCreateView() metodo, gonfia la vista con il layout xml list_fragment sopra definito.
Dentro il onActivityCreated() , crea un arrayadapter dalla risorsa, cioè usando String array R.array.planet che puoi trovare all'interno di string.xml e imposta questo adattatore su listview e imposta anche onItem click Listener.
Dentro il OnItemClickListener() , visualizza un messaggio di avviso con il nome dell'elemento su cui si fa clic.
package com.example.tutorialspoint7.myapplication;
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 codice seguente sarà il contenuto di MainActivity.java
package com.example.tutorialspoint7.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
il codice seguente sarà il contenuto di manifest.xml, che è stato posizionato in res / AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tutorialspoint7.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Esecuzione dell'applicazione
Proviamo a eseguire il nostro SimpleListFragmentapplicazione che abbiamo appena creato. Presumo che tu abbia creato il tuoAVDdurante l'impostazione dell'ambiente. Per eseguire l'app da Android Studio, apri uno dei file di attività del progetto e fai clic sull'icona Esegui dalla barra degli strumenti. Android installa l'app sul tuo AVD e la avvia e se tutto va bene con la configurazione e l'applicazione, verrà visualizzata la seguente finestra dell'emulatore: