我正在使用ListActivity和自定义BaseAdapter。实现的clear()
方法仅清除列表onResume()
,但如果我重新填充适配器并通知数据已更改,则会保持清晰。
我不相信任何代码是必要的,但是......
ArrayList<String> thisWorks = DatabaseMethods.retrieveData();
populateAdapter();
---------------------------
ArrayList<String> thisAddsSameDataWithEveryIntentCall = sortByDate(DatabaseMethods.retrieveData());
populateAdapter();
我的理解是它很可能与内存地址更改有关。但是,SQLite给我的数据不是有序的,必须每次都重新排序,因为我想要连续的日期。
我认为通过对数据进行排序,每次使用不同的内存地址,而恢复活动时,它会查找旧地址。
在调用活动时防止重复数据的提示?
上面的ArrayList thisWorks将包含以下数据:
如果我调用此活动,这些项目将填充CustomAdapter。调用活动时,再次调用Database函数(因为用户可能已添加数据),并且如果它没有更改,则使用相同的列表填充CustomAdapter ....一切都很好< / p>
上面的ArrayList thisAddsSameDataWithEveryIntentCall将包含以下数据在分类之前:
排序后:
如果我调用此活动,这些项目通常是第一次填充CustomAdapter。点击后退按钮,从堆栈中删除Activity。单击按钮再次调用Activity:
重复。
某些东西没有被破坏。在选择日期选择后我使用了略微修改的列表版本,并且因为这次 NOT 对数据进行排序,所以没有数据重复。