Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:在不更改数据库的情况下修改光标或适配器?_Android_Database_Listview_Row_Android Cursoradapter - Fatal编程技术网

Android 安卓:在不更改数据库的情况下修改光标或适配器?

Android 安卓:在不更改数据库的情况下修改光标或适配器?,android,database,listview,row,android-cursoradapter,Android,Database,Listview,Row,Android Cursoradapter,我有一个工作良好的自定义游标适配器和自定义的ListView。此视图允许用户通过重新排列ListView的行来使用UI。没问题(好吧,现在经过大量的研究和反复试验!) 但我不喜欢每次用户移动其中一行时都要点击数据库。他们可能会做很多修改。此外,我希望用户能够改变他们的想法,取消他们的所有更改 所以我想知道:有没有一种方法可以在不改变数据库的情况下修改这个ListView的内容(即行的顺序)?这样,当用户一下子单击OK时,我就可以更新数据库,如果用户取消,我就可以忽略这些更改 同样,使用这种理论技

我有一个工作良好的自定义游标适配器和自定义的ListView。此视图允许用户通过重新排列ListView的行来使用UI。没问题(好吧,现在经过大量的研究和反复试验!)

但我不喜欢每次用户移动其中一行时都要点击数据库。他们可能会做很多修改。此外,我希望用户能够改变他们的想法,取消他们的所有更改

所以我想知道:有没有一种方法可以在不改变数据库的情况下修改这个ListView的内容(即行的顺序)?这样,当用户一下子单击OK时,我就可以更新数据库,如果用户取消,我就可以忽略这些更改


同样,使用这种理论技术,用户只需等待一次AsyncTask弹出并执行其数据库操作,而不是每次修改其列表。

使用一个自定义类,该类包含数据库中所需的所有成员。创建customClass对象的ArrayList,并用从数据库检索到的来自游标的数据填充它。将此arraylist传递给CustomBaseAdapter并填充listview。根据用户反应修改arraylist数据。根据“确定”或“取消”,单击“更新数据库中的相应数据”。

是的,我担心我必须这样做。一开始就忽略了使用适配器的所有细节,不是吗?还有其他建议吗?我不认为有更好的解决办法。要跟踪对数据库值所做的更改,需要一个自定义对象。此外,您希望更改仅在用户单击“确定”或“取消”以最小化数据库操作时反映。所以这应该是唯一的选择。如果你有更好的解决方案,请分享。