IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Création ListView


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 30
    Points : 7
    Points
    7
    Par défaut Création ListView
    Bonjour à tous !

    Voilà quelques semaines que j'essaye de faire quelque chose qui dans le font doit être assez simple !
    J'essaye de crée une appli qui grâce à une alerte demande à l'utilisateur deux valeurs via un EditText, puis en validant c'est valeurs s'affichent dans une listView.

    Somme toute assez simple, mais je n'arrive pas à créer cette foutu liste j'ai essayé pleins de façon, différents tuto trouvés sur internet, mais rien n'y fait je n'arrive pas a rentré les valeurs...

    Comme puis-je faire ?

    Merci

    Bye

    Flyer-74

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Montres-nous ton code.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 30
    Points : 7
    Points
    7
    Par défaut
    Je n'ai pas de code spécifique puisque j'en ai testé tellement

    Mais le dernier que j'ai viens de ce site c'est le tuto sur les lists que j'ai modifier pour avoir mon alerte et que ca affiche ce que l'utilisateur à entré !

    Voilà la dernière tentative:

    Donc la classe principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    package com.dvp.list;
     
    import java.util.ArrayList;
    import java.util.List;
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.text.Editable;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.BaseAdapter;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    import android.widget.ListView;
    import android.widget.TextView;
     
    public class DvpList2 extends Activity {
     
    	EditText ComNom;
    	EditText ComFreq;
     
     
    	public static final int MENU_ADD = Menu.FIRST+1;
     
     
    	static String VarNom;
    	static String VarFreq;
     
    	/** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            addEtape();
     
     
            ArrayList<Personne> listP = Personne.getAListOfPersonne();
            BaseAdapter adapter = new PersonneAdapter(this, listP);
     
            ListView list = (ListView)findViewById(R.id.ListView01);
     
            list.setAdapter(adapter);
     
     
        }
     
    	@Override
    		public boolean onCreateOptionsMenu(Menu menu) {
    			menu
    				.add(Menu.NONE, MENU_ADD, Menu.NONE, "Ajouter");
     
     
    			return(super.onCreateOptionsMenu(menu));
    		}
     
     
    		@Override
    		public boolean onOptionsItemSelected(MenuItem item) {
    			switch (item.getItemId()) {
    				case MENU_ADD:
    					addEtape();
    					return(true);
    			}
     
    			return(super.onOptionsItemSelected(item));
    		}
     
    		private void addEtape() 
    		{
    			final View add_view=getLayoutInflater().inflate(R.layout.add, null);
     
    			new AlertDialog.Builder(DvpList2.this)
    			.setTitle("Ajouter une étape :")
    			.setIcon(android.R.drawable.ic_menu_add)
    			.setView(add_view)
    			.setPositiveButton("Ajouter", new DialogInterface.OnClickListener(){
    				public void onClick(DialogInterface dialog, int whichButton) 
    				{		
    					ComNom = (EditText)findViewById(R.id.ComNom);
    			        ComFreq = (EditText)findViewById(R.id.ComFrequence);
     
    	            	VarNom = ComNom.getText().toString();
    	            	VarFreq = ComFreq.getText().toString();
     
    				}
    			})
    			.setNegativeButton("Annuler", null)
    			.create()
    			.show();
    		}
     
     
    }
    Ma classe Personne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    package com.dvp.list;
     
    import java.util.ArrayList;
     
    public class Personne {
    	public final static int MASCULIN = 1;
    	public final static int FEMININ = 2;
     
    	public String nom;
    	public String prenom;
    	public int genre;
     
    	public Personne(String aNom, String aPrenom, int aGenre) {
    		nom = aNom;
    		prenom = aPrenom;
    		genre = aGenre;
    	}
     
    	/**
             * Initialise une liste de personnes
             * @return une liste de "Personne"
             */
    	public static ArrayList<Personne> getAListOfPersonne() {
    		ArrayList<Personne> listPers = new ArrayList<Personne>();
     
    		listPers.add(new Personne(DvpList2.VarNom , DvpList2.VarFreq, FEMININ));
     
    		return listPers;
    	}
    }
    Et pour finir la classe PersonneAdapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    package com.dvp.list;
     
    import java.util.List;
     
    import android.content.Context;
    import android.graphics.Color;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.LinearLayout;
    import android.widget.TextView;
     
    public class PersonneAdapter extends BaseAdapter {
     
    	private List<Personne> mListP;
    	private Context mContext;
    	private LayoutInflater mInflater;
     
     
        public PersonneAdapter(Context context, List<Personne> aListP) {
            mContext = context;
            mListP = aListP;
            mInflater = LayoutInflater.from(mContext);
        }
     
     
        public int getCount() {
            return mListP.size();
        }
     
     
        public Object getItem(int position) {
            return mListP.get(position);
        }
     
        public long getItemId(int position) {
            return position;
        }
     
        public View getView(int position, View convertView, ViewGroup parent) {
            LinearLayout layoutItem;
            if (convertView == null) {
            	layoutItem = (LinearLayout) mInflater.inflate(R.layout.personne_layout, parent, false);
            } else {
            	layoutItem = (LinearLayout) convertView;
            }
     
            TextView tv_Nom = (TextView)layoutItem.findViewById(R.id.TV_Nom);
            TextView tv_Prenom = (TextView)layoutItem.findViewById(R.id.TV_Prenom);
     
     
            tv_Nom.setText(mListP.get(position).nom);
            tv_Prenom.setText(mListP.get(position).prenom);
            if (mListP.get(position).genre == Personne.MASCULIN) {
            	layoutItem.setBackgroundColor(Color.BLUE);
            } else {
            	layoutItem.setBackgroundColor(Color.MAGENTA);
            }
     
     
            return layoutItem;
        }
     
    }
    Mais cela ne fonctionne pas

    Bye

    Flyer-74

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Si tu veux juste créer une liste, je te conseils de te renseigner sur les ListActivity, c'est fait pour ça.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 552
    Points : 18 446
    Points
    18 446
    Par défaut
    Qu'est-ce que ça t'affiche exactement ?
    Est-ce que le logcat t'indique quelque chose ?

    Parce là tu créer une ArrayList de Personne, avec une Personne dedans.
    Tu récupères une ListView d'un layout.
    Et tu set adapter.

    Comme ta classe qu'extends BaseAdapter est correct ça devrait fonctionner.

    Normalement tu devrais avoir une ListView avec une personne dedans.

    Comment t'as mis ta ListView dans le Layout ?
    Keith Flint 1969 - 2019

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 30
    Points : 7
    Points
    7
    Par défaut
    Qu'est-ce que ça t'affiche exactement ?
    Rien, j'arrive dans mon application, elle se lance correctement, et j'ouvre l'alerte pour pouvoir ajouter une personne. J'ajoute une personne et je valide, mais rien ne s'affiche ...

    Est-ce que le logcat t'indique quelque chose ?
    Non il n'affiche aucune erreurs ...

    Parce là tu créer une ArrayList de Personne, avec une Personne dedans.
    Tu récupères une ListView d'un layout.
    Et tu set adapter.

    Comme ta classe qu'extends BaseAdapter est correct ça devrait fonctionner.

    Normalement tu devrais avoir une ListView avec une personne dedans.
    je vois pas vraiment comment le faire ... je débute dans la programmation android ...

    Merci

    bye

    flyer-74

  7. #7
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 552
    Points : 18 446
    Points
    18 446
    Par défaut
    Ben va là :
    http://mickael-lt.developpez.com/tut...iser-listview/

    Télécharges DVP_List2.zip par exemple.
    Après dans Eclipse, tu fais import => Excisting project into workspace => archive.

    Et voilà t'auras un projet avec une ListView qui fonctionne.
    Ça t'aidera peut être à trouver ton erreur.
    Keith Flint 1969 - 2019

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 30
    Points : 7
    Points
    7
    Par défaut
    Salut,

    J'ai exactement fait cela et j'ai essayé d'adapter le code a mon besoin, c'est a dire ouvrir un alerte et renseigner les valeur que doit prendre la liste au fur et à mesure, mais je n'arrive pas a faire en sorte que les valeurs que je fait rentrer par l'utilisateur soit afficher dans la listView ...

    Merci

    Bye

    flyer-74

Discussions similaires

  1. Création de page dans un ListView
    Par MikeNoy dans le forum Composants graphiques
    Réponses: 6
    Dernier message: 05/06/2011, 01h32
  2. La création de colonnes dans une ListView en QML
    Par dourouc05 dans le forum Qt Quick
    Réponses: 0
    Dernier message: 11/01/2011, 15h49
  3. Création d'une LISTVIEW
    Par mulfycrowh dans le forum Visual C++
    Réponses: 4
    Dernier message: 07/10/2009, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo