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 4305 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par leflo dans php5

Bonjour
Sans parler du fait que l'IP peut ne pas vouloir dire grand chose, en cas de proxy/translation comment on fait? On voit pas et on interdit tout meme si l'utilisateur n'est pas responsa...

Publié par Fobec dans java

As-tu essaye sans le parametre de la cle ?
(supprimer la ligne url += "&key=" + this.ApiKey;)
A priori, cela fonctionne sans aucune authentification sur l'api ;)

Publié par math dans java

Salut, quelle est la modification a faire pour pouvoir utiliser une webcam usb qui n'est pas une logitech?

Publié par adilo dans CMS

merci d\'avance monsieur le precedant

Publié par Kachwahed dans CMS

Merci, ca marche avec moi, mais apès avoir changer:
Edit1.Text := Format('%d bits, %d x %d',[Bits, HRes, VRes]);
par:
Edit1.Text := Format('%d bits, %d x %d',[Bits, HorizRes, VertRes]);...