Publié le 09/04/2015
Auteur Axel
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Afficher un ListView de string

Le composant ListView est un objet de type liste qui permet à l'utilisateur de choisir une valeur. Dans une fenetre Android, il est possible d'afficher toutes de sortes de listes par exemple du texte et une icone. Dans l'exemple ci-dessous, nous avons voir le cas le plus simple: une liste de string dans laquelle l'utilisateur sélectionne une valeur.

Interface graphique de la liste

Le layout est basique et la fenetre pourrait correspondre à une interface de paramétrage de l'application Android. Un exemple de layout contenant une liste de string, l'alignement est fixé à l'ensemble de la surface disponible.

<?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="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>
</LinearLayout>

Dans la class JAVA, nous allons ajouter dynamiquement les éléments à afficher à l'utilisateur. L'aspect de la fenetre Android est proche de la copie d'écran issue de ma tablette

1167-listview-string

Code source du ListView sous Android

En fait, il n'y a pas grand à faire pour afficher les éléments dans la liste du layout. Pour le texte à afficher dans le ListView, chaque élément est déclaré un tableau statique nommé tab. En ce qui concerne les actions de l'utilisateur, un listener est ajouté à la liste Android pour ensuite déterminer quel élément a été choisi.

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
 
/**
 * Afficher un ListView de string
 * http://www.fobec.com/java/1167/afficher-listview-string.html
 * @author Axel avril 2015
 */
public class MainActivity extends Activity {
 
    //Composant liste
    protected ListView lv;
    //Element de la liste
    public String[] tab = {"Element 1", "Element 2", "Element 3"};
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        //Trouver l'objet ListView 
        lv = (ListView) findViewById(R.id.listView1);
        //créer les items
        ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, tab); 
        // associer l'adaptateur au listView  
        lv.setAdapter(arrayAdapter);
 
        //Ajouter l'evenement click
        lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (position >= 0 && position < tab.length) {
                    String s = "Vous avez selectionné "+tab[position];
 
                    // Afficher le Toast                                           
                    Toast msg = Toast.makeText(MainActivity.this.getApplicationContext(), s, Toast.LENGTH_LONG);
                    msg.show();
                }
            }
        }); 
    }
}

Pour mon projet calculatrice, je cherchais comment afficher une liste de paramètre sous Android. L'utilisateur pourra choisir le skin à appliquer sur l'interface de l'application. Les exemples trouvés me paraissaient compliqués et donc voila un exemple pour créer une liste de string dans un ListView Android.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - android
Mise a jour
09/04/2015
Visualisation
vu 2395 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par MasterMbg dans java

Salut! merci pour le code, si tu y ajoutais des commentaires avant chaque module ce serait encore plus facilitant! merci infiniment...

Publié par Christophe dans CMS

je te propose d'améliorer la fonction
procedure TForm1.Button1Click(Sender: TObject);
begin
GetDesktopListViewHandle;
ListView_SetTextBkColor(hLV, $FFFFFFFF);
ListView_Re...

Publié par titi dans tuto

test de ce truc! eh ben exigeant en plus

Publié par Helo dans java

SVP Comment faire fonctionner le bouton pause ?

Publié par hisy dans java

Merci pour le script mais si un champ text contient un ";" ...