如何使用自定义数组适配器删除自定义列表中的特定列表项(列表行)?

斯瓦普尼尔·兰吉瓦(Swapnil Lanjewar)

我是android的新手,我正在开发一个应用程序,其中我正在扫描NFC卡,并将所生成的NFC字符串与列表中的值进行匹配。所以我想要的是当NFC的结果与任何列表项匹配时,应删除匹配的列表项(列表行)。以下是自定义列表视图的代码:

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...
 ...
}

并使用自定义阵列适配器

 public class ItemAdapter extends ArrayAdapter<Item>

将元素添加到列表中,如下所示:

 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);

我需要找出Id(列表项中的一个字段)与NFC字符串匹配的列表项的索引,以便我可以按索引删除列表项。主要问题是将结果字符串(例如“ 2”)与自定义数组列表(即m_parts)中的“ id”字段进行比较,该字段共有3个字段,例如(字符串id,字符串名称,整数img)。因此,我想匹配从m_parts array-list中的“ id”字段感应到nfc标签得到的字符串,因此请帮助/指导我完成任务。

谢谢!!!

vguzzi

您将需要从列表中删除该项目,然后像这样告诉适配器已将其删除:

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

获得职位的逻辑将取决于其余代码的工作方式。

要匹配您的字符串,只需遍历每个项目,然后查看是否匹配(如果匹配),则将其删除/删除。像这样的东西:

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);
}

上面的代码位于适配器内部,扫描时调用checkAndDeleteMatchingIds。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为用于图像和文本的列表视图创建自定义光标适配器?

如何在android studio中创建自定义数组适配器以禁用对列表视图项的单击

列表视图的自定义适配器

如何在自定义列表视图的自定义适配器类中传递多个数组值?

如何从自定义列表视图数组适配器类中的列表视图中删除行,并刷新列表视图中的其余项?

如何使用自定义适配器单击列表视图中的项目

无法从jsoup将自定义列表实现到自定义阵列列表到自定义阵列适配器中

如何使用自定义列表适配器显示listView为空

如何通过自定义适配器为列表视图动态设置imageView源?

自定义适配器不会使列表视图中的行膨胀

自定义旋转适配器显示空列表

具有基本适配器列表项的自定义适配器重复

在自定义适配器中更改列表项背景

如何使用自定义列表适配器中的“更新图像”按钮更新数据库中的值?

如何为列表视图创建自定义适配器?获取RessourceNotFoundException

android:如何从自定义列表适配器读取Jsonobject

如何使用Hashmap为自定义列表视图创建自定义适配器

在自定义列表数组适配器中追加数据

列表视图中的页脚按钮,如何从自定义列表适配器获取价值

动态类型的数组列表和自定义适配器

自定义适配器不显示列表视图

如何使用 REST API、自定义列表视图、适配器、行布局在 xamarin android c# 中填充列表视图

使用自定义列表适配器对 ListView 进行自定义过滤,包括部分标题

使用自定义适配器视图时,如何使列表视图可点击?

自定义列表适配器中的 getApplicationContext()

自定义数组适配器到列表视图错误

Fragment 中的自定义列表适配器

如何向列表视图中的每个按钮添加一个 onclick,填充自定义数组适配器,从数组中删除该项目并更新它?

如何创建自定义适配器以将 cardview 用于片段内的列表视图