某些上下文:我有一个ListView的自定义ArrayAdapter,它具有3个参数Name,Edit Button,Delete Button。我在ArrayAdapter中设置了onClicks
,以便能够通过按下特定的编辑/删除按钮来检测正在单击的配置文件。当用户删除个人资料时,我从SQLite DB
中删除了个人资料,但是现在我遇到了一个问题:尝试用已删除的项目更新ArrayList
,并为我的{{1 }}。
问题1:我不知道是否应该在包含ListView和ArrayList的类中执行此操作,还是应该尝试从onClicks中的ArrayAdapter进行更新。
问题2:无论哪种方法正确,当用户在对话框中确认删除后,如何正确地从ListView更新已删除的项目。
当前ArrayAdapter类
notifyDataSetChanged
片段类中的函数,用于在onViewCreated上填充ListView
ListView
答案 0 :(得分:1)
您可以通过任何一种方式来执行此操作。您可以在适配器类中创建一个函数并对其执行clickListener。
deleteItem.setOnClickListener(v -> {
potsList.remove(getAdapterPosition());
notifyDataSetChanged();
}
或者在您的课堂上,从列表中删除该项目时,请不要忘记通知适配器。一通知适配器,它将在屏幕上反映出更改。