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

Kotlin Discussion :

ListView qui ne s'affiche qu'une seule fois


Sujet :

Kotlin

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Services à domicile

    Informations forums :
    Inscription : mars 2016
    Messages : 6
    Points : 7
    Points
    7
    Par défaut ListView qui ne s'affiche qu'une seule fois
    bonjour,
    J'ai réussi à afficher un tableau de 750 lignes (checkable) dans un listView.
    Ce listView est dans un fragment qui est affiché par l'icon d'un menu.
    pour le moment le tableau s'affiche quand on click sur le bouton.
    J'aimerai par la suite afficher mon tableau quand je suis sur le fragment qui le contient.
    Bref...
    Je démarre l'appli, je vais dans le menu, je click sur l'item voulu, je click sur le bouton, le tableau s'affiche.
    Je choisi un autre item dans le menu, je reviens sur mon item où j'ai mon bouton, je click dessus il n'affiche plus rien.....
    POURQUOI ????
    VRAIMENT BESOIN D'AIDE MERCI

    Voici le code:

    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
    fun initListViewData() {
     
            val alim1 = List_aliment("Apéricube (à l’unité)", "16", false)
            val alim2 = List_aliment("Bretzel (à l’unité 15 g)", "80", false)
            //750 lignes
     
    val alims: Array<List_aliment> =arrayOf<List_aliment>(
                alim1, alim2, alim3,alim4,alim5, alim6, alim7,alim8,alim9, alim10, alim11,alim12,alim13, alim14, alim15,alim16,alim17, alim18, alim19,alim20)
     
     val arrayAdapter: ArrayAdapter<List_aliment> =
                ArrayAdapter<List_aliment>(this, android.R.layout.simple_list_item_checked, alims)
            this.listView.adapter = arrayAdapter
            for (i in alims.indices) {
                this.listView.setItemChecked(i, alims[i].isActive())
            }
        }
     
      fun btimcclick(view: View) {
            val listView = findViewById<View>(R.id.listView) as ListView
            listView.choiceMode = ListView.CHOICE_MODE_MULTIPLE
     
            initListViewData()
     
        }
    voici le xml:

    Code XML : 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
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".ui.alim.AlimFragment"
        android:orientation="vertical">
     
     
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">
                <Button
                    android:id="@+id/btmange"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Lance"
                    android:onClick="btimcclick"/>
     
                 <ListView
                        android:id="@+id/listView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                  </ListView>
            </LinearLayout>
    </LinearLayout>

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    août 2010
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2010
    Messages : 1 537
    Points : 2 722
    Points
    2 722
    Par défaut
    Bonjour,


    Tout d'abord, pourquoi utiliser une ListView et non une RecyclerView.

    Attention aussi à bien regarder des tutos sur la construction d'un adapter et d'une recyclerview. Il faut garder l'adapter et simplement le rafraichir.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    adapter.notifyDataSetChanged()
    Retrouvez moi sur Youtube : https://www.youtube.com/user/Playlist8055

Discussions similaires

  1. RecordSet qui n'affiche qu'une seule ligne
    Par niamo dans le forum VBA Access
    Réponses: 2
    Dernier message: 25/06/2010, 11h17
  2. [JSTL] foreach qui ne fonctionne qu'une seule fois
    Par Ouguiya dans le forum Taglibs
    Réponses: 16
    Dernier message: 02/08/2007, 16h17
  3. [AJAX] [XMLHttp][IE]Fonction qui ne fonctionne qu'une seule fois
    Par narnou dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/07/2007, 11h16
  4. Label qui ne change qu'une seule fois ...
    Par Christophe Charron dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/04/2006, 19h08
  5. fonction qui s'exécute qu'une seule fois sous Firefox
    Par la.sophe dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/03/2006, 10h02

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