J'utilise un GridLayout avec 5 coloums et plusieurs lignes (pas une valeur fixe). Il est possible d'ajouter plus de lignes avec des valeurs à la grille par un bouton d'ajout (les valeurs sont codées en dur dans hashmap pour l'instant). Chaque ligne contient un bouton de suppression dans la première cellule. Maintenant, je veux mettre en œuvre, que si vous cliquez sur le bouton Supprimer, la ligne complète devrait être supprimée, mais d'autres lignes devraient rester. Des propositions comment faire cela?Supprimer une ligne de gridlayout
Répondre
Vous pouvez supprimer l'ensemble de données spécifiques de votre HashMap (ou utilisez une autre carte dans l'adaptateur pour le contenu dymanic) puis appelez:
grid.setRowCount(grid.getRowCount() - 1);
grid.notifyDataSetChanged();
Cela devrait supprimer la ligne spécifique.
Cela semble être une bonne idée, mais cela supprimerait simplement le dernier élément de la grille, correct? Il devrait être possible de supprimer des éléments quelque part au milieu – WeSt
Il vous suffit de supprimer les données correctes de votre jeu de données. Donc, si vous aviez une liste avec vos données dans votre adaptateur et la ligne 3 devrait être supprimée, alors supprimez le 3ème élément de votre liste et appelez 'notifyDataSetChanged()' – noongiya95
cela m'a aidé, merci – WeSt
Il est difficile d'expliquer sans avoir votre implémentation, mais je vais essayer. Alors supposons que nous ayons notre Activity/Fragment
avec un RecyclerView
. Nous avons notre Adapter
qui détient un List/Map/Anything
avec vos éléments dedans. Ce dont nous avons besoin est le bouton de suppression et c'est l'écouteur de clic je devine. Lorsque vous cliquez sur le bouton, vous appelez une méthode de votre adaptateur à partir de l'activité/fragment, qui itère votre List/Map/Anything
en supprimant les éléments. La méthode appelle à nouveau notifyDataSetChanged()
sur l'adaptateur et la grille doit être mise à jour correctement.
Vous cherchez quelque chose comme ça? https://android--code.blogspot.de/2015/08/android-gridview-add-item.html – noongiya95
Ajouter n'est pas le problème, c'est déjà implémenté. Supprimer une ligne de la grille est le problème – WeSt
Pour moi, il semble que ce ne soit pas vraiment les bons outils pour construire ce que vous voulez. Si vous ne contrôlez que les lignes, pourquoi n'utilisez-vous pas une liste simple pour votre ensemble de données, par exemple? un RecyclerView, qui rendrait les choses plus simples? – noongiya95