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 :

Comment puis-je retirer l'élément voulu de ma liste<EditText> ?


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 19
    Points : 22
    Points
    22
    Par défaut Comment puis-je retirer l'élément voulu de ma liste<EditText> ?
    Bonjour,

    Mon programme doit me permettre de créer une interface ou l'utilisateur rentrer le nom des joueurs. Donc j'arrive à ajouter des nouveaux joueurs ( EditText ), stocker leurs noms dans une liste, j'arrive à supprimer de l'écran le joueur voulue, mais je n'arrive pas a supprimer le nom du joueur que j'ai stocké dans ma liste<EditText>.
    Comment puis-je supprimer l'EditText voulue lorsque je clique sur le bouton delete a coté du nom du jouer ?
    J'espère avoir été assez claire pour vous car j'ai eu un peu de mal a m'expliquer ^^ N'hésitez pas à me demander des précisions ! Voici mon 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public class entery_names extends AppCompatActivity {
     
     
        private LinearLayout parentLinearLayout;
        List<EditText> allEt = new ArrayList<EditText>();
     
        @SuppressLint("NewApi")
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_entery_names);
     
            parentLinearLayout = (LinearLayout) findViewById(R.id.parent_linear_layout);
        }
     
        public void onAddField(View v) {
            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            final View rowView = inflater.inflate(R.layout.field, null);
     
            if (allEt.size() == 0) {
                allEt.add((EditText)((View) v.getParent()).findViewById(R.id.number_edit_text));
                allEt.add((EditText)((View) rowView).findViewById(R.id.number_edit_text));
            }
            else
                allEt.add((EditText)((View) rowView).findViewById(R.id.number_edit_text));
            parentLinearLayout.addView(rowView, parentLinearLayout.getChildCount() - 1);
        }
     
        public void onDelete(View v) {
    //        allEt.remove((EditText)((View) v).findViewById(R.id.number_edit_text)); marche pas
    //        allEt.remove((View) v.getParent()); marche pas
            parentLinearLayout.removeView((View) v.getParent());
        }
    }
    ( Petite précision : j'ai rapidement modifié le code pour qu'il soit plus lisible, ce qui m'intéresse est la fonction onDelete(View v) ou je dois trouver l'EditText que je veux supprimer )

    Merci !

  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
    Une liste d'Edittext !!! C'est la première fois que je vois ca. Quel est ton intérêt d'enregistrer l'Edittext et pas simplement le nom du joueur ? Surtout qu'une Edittext est un widget pour entrer des données, et c'est tout.

    Si tu passais par une recyclerview pour afficher ta liste (ce qui est la base en Android) plutôt qu'un LinearLayout que tu remplis dynamiquement, tu te faciliterais grandement la tache.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Re !
    Je veux effectivement stocker le nom du joueur, mais si l'EditText est vide quand je le créer et l'utilisateur remplie les Edit text qu'après avoir ajouté le bon nombre de joueurs, en stockant juste leurs text dans une list<String>, j'aurai que du vide non ?

    Je vais mettre en relativeLayout effectivement merci,

  4. #4
    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
    Tu te prends la tete pour pas grand chose. Il suffit juste de mettre un seul Edittext, et chaque fois que l'utilisateur le remplit et valide, le nom s'ajoute à la liste. Tu limites le nombre d'ajouts au nombre de joueurs, et c'est tout.

    Et je parlais de Recyclerview : https://developer.android.com/guide/...t/recyclerview, pas de RelativeLayout

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Non ce n'est pas très propre de faire comme ca, demander à l'utilisateur de valider le nom a chaque fois qu'il ajoute un joueur est juste galère pour lui.

    Merci pour tout mais je cherche simplement un moyen de supprimer l'EditText dans mon tableau d'EditText.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Points : 1 050
    Points
    1 050
    Par défaut
    Utilise une liste plutôt qu'un tableau, c'est déjà mieux si la taille est variable.
    Ou alors tu utilises une hashmap avec une clé et l'EditText comme donnée.

    Concernant la suppression en elle-même, il faudrait préciser où tu coinces, parce que c'est une fonction native des listes, des hashmap etc., il n'y a aucun problème particulier.

    Sinon, comme ça a été dit, stocker des editText ça ne sert à rien du tout, tu fais une liste de tes joueurs et tu les places dans les EditText à la demande.
    Mon opinion est que tu cherches des solutions compliquées pour un problème simple.

    A+
    Claude

Discussions similaires

  1. [FAQ] [jQuery] Comment puis-je vérifier si un élément a une classe en particulier ?
    Par SylvainPV dans le forum Contributions JavaScript / AJAX
    Réponses: 12
    Dernier message: 19/03/2014, 21h42
  2. Réponses: 2
    Dernier message: 12/12/2013, 21h00
  3. Comment puis-je déplacer un élément
    Par pierrot10 dans le forum jQuery
    Réponses: 1
    Dernier message: 09/01/2013, 22h06
  4. Réponses: 13
    Dernier message: 06/04/2011, 16h56
  5. Réponses: 3
    Dernier message: 06/05/2010, 10h59

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