Comment supprimer un élément de liste particulier (ligne de liste) dans une liste personnalisée avec un adaptateur de tableau personnalisé?

Swapnil Lanjewar

Je suis un débutant dans Android, je développe une application dans laquelle je scanne la carte NFC et associe la chaîne résultante de NFC avec les valeurs de la liste. Donc, ce que je veux, c'est lorsqu'un résultat de NFC correspond à l'un des éléments de la liste, l'élément de liste correspondant (ligne de liste) doit être supprimé. Vous trouverez ci-dessous le code de la vue de liste personnalisée:

public class Item {
     private String StdName;
     private String Id;
     private int img;

public Item() {

}

public Item(String name, String id, int img) {
    this.StdName = name;
    this.Id = id;
    this.img = img;
}
//getters & setters...
 ...
}

et en utilisant un adaptateur de baie personnalisé

 public class ItemAdapter extends ArrayAdapter<Item>

Ajouter des éléments à la liste comme suit:

 private ArrayList<Item> m_parts = new ArrayList<Item>();
 m_parts.add(new Item(StdntId, StudentName, R.drawable.cancel));
 m_adapter = new ItemAdapter(MainActivity.this, R.layout.list_row, m_parts);
 listView.setAdapter(m_adapter);

J'ai besoin de trouver l'index de l'élément de liste dont l'ID (un champ dans l'élément de liste) correspond à la chaîne NFC afin que je puisse supprimer l'élément de liste par index. Le problème principal est de comparer la chaîne de résultat, par exemple "2" avec le champ "id" dans la liste de tableaux personnalisée, c'est-à-dire m_parts qui a un total de 3 champs comme (String id, String name, integer img). Donc, je veux faire correspondre la chaîne que je reçois en détectant la balise nfc avec le champ "id" dans m_parts array-list Alors s'il vous plaît, aidez / guidez-moi pour accomplir la tâche.

Merci!!!

vguzzi

Vous devrez supprimer cet élément de votre liste, puis dire à l'adaptateur qu'il a été supprimé comme ceci:

this.m_parts.remove(position);
notifyItemRemoved(position);

La logique pour obtenir votre position varie en fonction du fonctionnement du reste de votre code.

Pour faire correspondre vos chaînes, parcourez simplement chacun de vos éléments et voyez s'il correspond, si c'est le cas, supprimez / supprimez-le. Quelque chose comme ça:

public void checkAndDeleteMatchingIds(String idToMatch) {
    for (int i = 0; i < m_parts.size(); i++) {
        if (m_parts.get(i).getId().equals(idToMatch)) {
            removePart(i);
        }
    }
}

public void removePart(int position) {
    this.m_parts.remove(position);
    notifyItemRemoved(position);
}

Le code ci-dessus se trouverait à l'intérieur de votre adaptateur, appelez checkAndDeleteMatchingIds lorsque vous numérisez.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Exporter la table de l'arborescence vers CSV avec mise en forme

  3. 3

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  4. 4

    Comment analyser un hachage Ruby plat en un hachage imbriqué?

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Comment créer une nouvelle application dans Dropbox avec des autorisations complètes

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  9. 9

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  10. 10

    php ajouter et fusionner des données de deux tables

  11. 11

    Créer un système Buzzer à l'aide de python

  12. 12

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  13. 13

    Comment changer la couleur de la police dans R?

  14. 14

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  15. 15

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    comment afficher un bouton au-dessus d'un autre élément ?

  18. 18

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  19. 19

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  20. 20

    optimiser les opérations du serveur avec elasticsearch: traitement des filigranes de disque bas

  21. 21

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

chaudétiquette

Archive