首页 > 解决方案 > Android - adapter.NotifyDataSetChanged 问题

问题描述

所以我有一个适配器,它从 ArrayList 获取数据我试图通过用户选择的一些参数来过滤 ArrayList,但是适配器没有更新,甚至使它看起来像 ArrayList 是空的,任何建议如何解决它?

下面的代码:

if (task.isSuccessful())
   {
     updatelist(task.getResult(), dateStr, time);
     zoneAdapter.notifyDataSetChanged();
   }

(那在 OnCompleteListener 里面)

更新列表:

zones.clear();
int count = 0;
  for (QueryDocumentSnapshot document : result) {
       zoneid = document.get(AssignmentFirebase.ZoneId).toString();
       dateAssignment = document.get(AssignmentFirebase.date).toString();
       timeAssignment = document.get(AssignmentFirebase.TimeSlot).toString();
       if (timeAssignment.equals(time) && dateAssignment.equals(dateStr))
                {
                    for (int i =0; i< allZones.size(); i++)
                    {
                        if (allZones.get(i).getId().equals(zoneid))
                            allZones.remove(i);
                    }
                    zones = (ArrayList) allZones.clone();
                }

适配器连接到区域ArrayList 我使用调试器对其进行了详细检查,似乎它删除了需要删除的区域,因此它可能是克隆或适配器本身,我将不胜感激,干杯。

标签: androidarraylistadapterclone

解决方案


推荐阅读