如何使用对话框自定义ArrayAdapter时从ListView中删除项目

时间:2019-04-23 18:26:20

标签: android listview android-arrayadapter custom-arrayadapter

某些上下文:我有一个ListView的自定义ArrayAdapter,它具有3个参数Name,Edit Button,Delete Button。我在ArrayAdapter中设置了onClicks,以便能够通过按下特定的编辑/删除按钮来检测正在单击的配置文件。当用户删除个人资料时,我从SQLite DB中删除了个人资料,但是现在我遇到了一个问题:尝试用已删除的项目更新ArrayList,并为我的{{1 }}。

问题1:我不知道是否应该在包含ListView和ArrayList的类中执行此操作,还是应该尝试从onClicks中的ArrayAdapter进行更新。

问题2:无论哪种方法正确,当用户在对话框中确认删除后,如何正确地从ListView更新已删除的项目。

enter image description here

当前ArrayAdapter类

notifyDataSetChanged

片段类中的函数,用于在onViewCreated上填充ListView

ListView

1 个答案:

答案 0 :(得分:1)

您可以通过任何一种方式来执行此操作。您可以在适配器类中创建一个函数并对其执行clickListener。

deleteItem.setOnClickListener(v -> {
            potsList.remove(getAdapterPosition());
            notifyDataSetChanged();
 }

或者在您的课堂上,从列表中删除该项目时,请不要忘记通知适配器。一通知适配器,它将在屏幕上反映出更改。