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

Android Discussion :

Désactiver un item de liste


Sujet :

Android

  1. #1
    Candidat au Club
    Homme Profil pro
    apprentit developpeur
    Inscrit en
    Juin 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : apprentit developpeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2016
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Désactiver un item de liste
    Bonjour

    Je viens vers vous car j'ai un petit soucis au niveau d'une de mes liste , dans cette dernière la première ligne correspond aux " titres" des différentes colonnes. j'ai utilise un OnItemclickListener sur cette liste afin d'afficher les fiches adhérents qui correspondent mais lorsque je clique sans le vouloir sur la première ligne, mon application crash ( logique elle ne renvoie a rien ).

    Voici ma fonction d'affichage d’adhérent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected void AfficherActFicheAdherent(String IdAdherent)  {
     
            Intent IntentAfficherAdh = new Intent(Act_ListeAdherents.this,Act_FicheAdherent.class);
     
     
            // demarrer activity
            if (IntentAfficherAdh != null) {
                IntentAfficherAdh.putExtra("IdAdherent",IdAdherent );
                Log.d("*** INTENT: ", "" + IntentAfficherAdh.getExtras().get("IdAdherent"));
                startActivity(IntentAfficherAdh);
            }
        }
    Et la fonction onclick qui l'utilise :
    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
    LV_Liste.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
     
     
     
                        view.setSelected(true);
                        String nom = (String) "" + parent.getSelectedItemId();
                        String item = (String) "" + parent.getItemIdAtPosition(position);
     
                        LinearLayout LA_DETAILS = (LinearLayout) view.findViewById(R.id.LA_DETAILS);
                        TextView TV_ID = (TextView) view.findViewById(R.id.ID);
                        String IdAdherent = TV_ID.getText().toString();
     
     
                    /*Toast.makeText(getApplicationContext(),
                            "Click ListItem Number " + position + " " + nom + " " + item + " " + TV_ID.getText().toString(), Toast.LENGTH_SHORT)
                            .show();
                    **/
     
     
                        if (LA_DETAILS.getVisibility() == View.VISIBLE) {
                            LA_DETAILS.setVisibility(View.GONE);
                            LA_DETAILS.setBackgroundColor(255);
     
                        } else {
                            LA_DETAILS.setVisibility(View.VISIBLE);
                        }
     
     
                        AfficherActFicheAdherent(IdAdherent);
     
     
     
                }
            });
    Ce que je voudrai faire : que le Onclick ne prenne pas en compte cette première ligne de "titre" pour que le crash ne se reproduise plus.

    Merci beaucoup à ceux qui prendront la peine de me répondre

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 475
    Points : 586
    Points
    586
    Par défaut
    Bonjour,

    Déjà, une bonne pratique du forum serait d'utiliser les balises # pour insérer proprement du code dans le message.

    Sinon, le problème vient de ta facon de concevoir ta liste. Je ne mets jamais les titres dans la liste, mais dans un linearlayout au dessus. Comme ca, quand tu scrolles ta listes, les titres restent fixes.
    Si tu veux vraiment conserver les titres dans la listes, tu as juste à mettre une condition dans le OnItemClick
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (position > 0) {
    // fais ce que tu veux
    }

  3. #3
    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
    Comme le dit Turvy il ne faut pas mettre dans ta liste ce genre d'information.
    Pour ce genre de chose tu peux utiliser un header et l'ajouter à la liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ListView listView = (ListView) findViewById(R.id.list);
    View header = getLayoutInflater().inflate(R.layout.header, null);
    listView.addHeaderView(header);
    http://www.vogella.com/tutorials/And...s_headerfooter
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  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
    Les bons moyens sont d'utiliser un header (comme l'indique grunk) ou de réaliser une liste hétérogène.
    Le moyen "quick & dirty" est de "typer" tes cellules (avec une enum) et de vérifier le type au clic. ATTENTION : cette méthode entraîne d'autres problèmes et n'est pas vraiment géniale.
    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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/08/2007, 22h34
  2. Selectionner tous les items d´une liste lors du submit
    Par makohsarah dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/07/2007, 12h50
  3. Pb suppression item de liste
    Par Atronach dans le forum Struts 1
    Réponses: 2
    Dernier message: 06/06/2007, 16h57
  4. ajout d'un 'item' à une liste simple
    Par denisvignes dans le forum Access
    Réponses: 8
    Dernier message: 26/09/2006, 15h41
  5. [W3C] Code item de liste non valide dixit w3c validator !!
    Par Christophe Charron dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/02/2006, 15h10

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