我有一个很好的自定义CursorAdapter和自定义的ListView。此视图允许用户通过重新排列ListView的行来使用其UI。没问题(好吧,现在经过大量的研究和反复试验!)。
但我不喜欢每次用户移动其中一行时都必须访问数据库。他们可能会进行相当多的修改。此外,我希望用户能够改变主意并取消所有更改。
所以我想知道:有没有办法修改这个ListView的内容(即行的顺序)而不必更改数据库?这样我就可以在用户一举点击OKAY时更新数据库,如果取消则忽略这些更改。
同样使用这种理论技术,用户只需要等待ONCE使AsyncTask弹出并执行其数据库内容,而不是每次修改其列表。
答案 0 :(得分:1)
使用包含数据库所需的所有成员的自定义类。创建customClass对象的ArrayList,并用从数据库中检索的游标中的数据填充它。将此arraylist传递给CustomBaseAdapter并填充listview。根据用户反应修改arraylist数据。基于OK或CANCEL,单击更新数据库中的相应数据。