Android游标和多线程

时间:2014-07-30 19:21:42

标签: android multithreading android-cursor

我想了解Android中游标背后的理念是什么,因为我在使用不同线程的游戏时遇到了问题。

理论上有一组对象,并且有一个指向该集合中可以在该集合上运行的元素的指针。这个想法在某种程度上类似于C ++中的容器迭代器。光标只是一个迭代器在一组对象上,还是迭代器和数据集?

结果,出现了另一个问题 - 有一个光标,它迭代一组对象,我可以在同一组对象上创建另一个光标吗?

问题如下:我的光标在概念上是我的架构的模型部分,我有2个不同的视图,可视化该模型。所以我把这个光标给了两个视图(一个是列表视图,另一个是自定义视图)。每个视图定期将光标移动到某行,并从其不同列获取不同的数据。坏的是他们在不同的线程中执行此操作,因此当一个调用moveToPosition()然后调用getString()时,另一个可以将它移动到这两个调用之间的另一行,所以一切都搞砸了。

解决方案是在同一个数据集上给它们两个独立的指针,例如,从我拥有的另一个Cursor中创建另一个Cursor。但如果 Cursor对象背后的概念是将这两个职责 - 数据集和迭代器 - 组合到一个类中,那么这是不可能的。如果你看到了大局并了解游标背后的想法,请告诉我。

0 个答案:

没有答案