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 :

Comment utiliser plusieurs ListView dans la même activité ?


Sujet :

Composants graphiques Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 16
    Points : 21
    Points
    21
    Par défaut Comment utiliser plusieurs ListView dans la même activité ?
    Bonjour,

    Je suis en train de développer une application Android dans le cadre de mon stage d’été. Mais maintenant je suis totalement bloqué car je n’ai pas réussi d’intégrer plusieurs ListView dans une même activité.
    J’ai recherché des solutions sur plusieurs sites mais la réponse était presque la même « nommer l’id de la ListView en @android:id/list » qui n’est pas serviable dans mon cas car j’utilise plusieurs ListView.

    activity_par_defaut.xml
    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
     
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".ParDefautActivity" >
     
        <TextView
            android:id="@+id/generalSettings"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight=".4"
            android:text="generalSettings" />
     
        <TextView
            android:id="@+id/visibility"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight=".4"
            android:text="visibility" />
     
        <ListView
            android:id="@+id/listvisibility"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight=".4"
            android:choiceMode="singleChoice" >
        </ListView>
     
        <TextView
            android:id="@+id/type"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight=".4"
            android:text="type" />
     
        <ListView
            android:id="@+id/listtype"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight=".4"
            android:choiceMode="singleChoice" >
        </ListView>
     
     
        <Button
            android:id="@+id/defautValidation"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/ok" />
     
    </LinearLayout>
    ParDefautActivity.java
    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
     
    package com.iTesLab.iTesLabWatermarker;
     
    import android.os.Bundle;
    import android.preference.PreferenceActivity;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
     
    public class ParDefautActivity extends PreferenceActivity {
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_par_defaut);
     
    		ListView   typeList            =(ListView)findViewById(R.id.listtype);
    		ListView   visibilityList      =(ListView)findViewById(R.id.listvisibility);
    		Button     validDefaultSttings =(Button)findViewById(R.id.defautValidation);
     
    		 String[] listVisibility=new String[]{"Visible","Invisible"};
    		 String[] listtype=new String[]{"Text","Image"};
     
    		visibilityList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice,listVisibility)); 
    		visibilityList.setItemChecked(1,true);
     
    		typeList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice,listtype)); 
    		typeList.setItemChecked(0,true);
     
     
    		//Load preference data from XML
    		//addPreferencesFromResource(R.xml.preferences);
    	}
    }
    Pouvez vous m'aider S.V.P?
    Cordialement.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    De ce que je comprend tu sembles vouloir faire une sorte d'écran de préférence , tu dérives d'ailleurs de PreferenceActivity.

    Pourquoi ne pas simplement faire ton écran de préférences en xml ?

    Deux listview ça me parait étrange surtout l'une en dessous de l'autre. A la limite peut être que tu cherche plus à utiliser un spinner ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    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
    Deux ListView dans la même interface, je vois l'utilité sur tablette et TV (les grands formats en somme), mais dans une application, je pense que c'est un souci de design ou d'ergonomie.
    Que souhaites-tu achever avec tes deux ListView ?
    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

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 16
    Points : 21
    Points
    21
    Par défaut
    Bonjour ,
    @Hizin: comme a dit grunk " tu sembles vouloir faire une sorte d'écran de préférence "
    voila un exemple qui n'a pas de souci de design . Non?
    Nom : 412955.png
Affichages : 541
Taille : 20,7 Ko
    .

    @grunk "Pourquoi ne pas simplement faire ton écran de préférences en xml ?"
    plus de details SVP.

  5. #5
    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
    Je ne vois qu'une ListView sur ton screenshots, et un souci de design : liste fermée masculine/féminin, donc un ToggleButton ou un Spinner est plus adapté à mon sens.

    La "liste des langages", elle, par contre, est bien une ListView, qui n'est pas complexe.
    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

  6. #6
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    On s'en fout, ce n'est qu'un exemple...

    Il est tout à fait possible d'utiliser deux listView, je ne vois pas ce qu'il y a de si choquant à ça...

  7. #7
    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
    Pourquoi tant de violence ? bileltechno me pose une question sur un screenshot, j'apporte une réponse. Je ne devrai pas le faire ?

    Oui c'est possible, comme de virer le StrictMode pour passer sous silence les NetworkOnMainThreadException. Ce n'est pas parce que c'est possible que c'est à faire, ou que c'est bien. C'est justement pour cette raison que je lui demandais ce qu'il souhaite faire, car ce n'est pas commun, ni habituel, et à mon avis, ça répond à une problématique assez spécifique.
    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

  8. #8
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    Ouais, j'ai peut être oublié un ou deux smiley .

    Excuse moi, je ne me voulais pas violent

    Et puis, pour te citer toi même :

    "Désolé du ton aussi. Je suis sec assez souvent, et c'est rarement voulu, donc je m'en excuse par défaut ^^'"


    Comme ça la boucle est bouclée

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Citation Envoyé par bileltechno Voir le message
    @grunk "Pourquoi ne pas simplement faire ton écran de préférences en xml ?"
    plus de details SVP.
    Le détail était dans le lien de mon post précédent : http://developer.android.com/guide/t...#DefiningPrefs
    Mais comme ça semble plus être une sorte de formulaire à transmettre plus que des préférences à sauvegarder sur le téléphone c'est peut être pas le plus adapté.

    Mais effectivement , je suis pas convaincu de la pertinence de l'utilisation de 2 listview dans ton cas.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 16
    Points : 21
    Points
    21
    Par défaut
    Merci bien à tous,
    autre question: Dans PreferenceScreen, est ce que je peux utiliser autres ( item ) que CheckBoxPreference ListPreference et EditTextPreference ?
    si oui les quels??
    Cordialement

  11. #11
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Tu peux en principe utiliser tout ce que tu veux , mais il faut alors créer toi même les composants : http://developer.android.com/guide/t...gs.html#Custom
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Futur Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Pour en revenir à la question initiale il faut donc passer obligatoirement par les fragments? Pourquoi?
    J'aimerais aussi avoir 2 ListView dans une activité...je pense que ce n'est pas forcément anormal en fonction du besoin de notre application.
    par exemple sur un seul "écran" avoir a gauche une liste des branches ('Math','Francais','Histoire') et à droite la liste des professeurs qui donnent la matière.
    En choisissant Math à gauche on filtre la liste de droite pour n'afficher que les profs de math à droite...
    Et j'aimerais comprendre pourquoi on ne peut pas afficher 2 ListView...et voir si cette limite est valable pour d'autres Widgets...

    Merci de vos explications

  13. #13
    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
    On peut tout a fait utiliser deux ListView. C'est juste incompatible avec une ListActivity.
    Une ListActivity fonctionne pour une ListView, en faisant très peu de chose.
    Il suffit donc d'hériter d'Activity (ou Fragment) et de réaliser l'initialisation des ListView sois-même.

    Cette ergonomie est particulière car généralement, dans le cas que tu décris, il n'y a pas besoin de deux ListView : la liste (ListView) à gauche permettant de sélectionner, et le reste de la tablette (ou du terminal en mode paysage) affichant le contenu (autres widgets). Pour réaliser une liste de liste, on passe généralement plutôt par une ExpandableListView.
    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

  14. #14
    Futur Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci pour cette explication un peu plus détaillée

Discussions similaires

  1. [XHTML] comment déclarer plusieurs doctypes dans une même page
    Par elsapascal dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 21/06/2008, 11h20
  2. Réponses: 10
    Dernier message: 03/04/2008, 15h58
  3. Réponses: 9
    Dernier message: 25/07/2007, 21h24
  4. [C#][Mysql]Comment utiliser plusieurs dataset sur la même connexion
    Par Invité dans le forum Accès aux données
    Réponses: 3
    Dernier message: 05/12/2006, 09h30
  5. [Applet]Utiliser plusieurs Applet dans une même classe
    Par BRAUKRIS dans le forum Applets
    Réponses: 5
    Dernier message: 11/06/2004, 15h27

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