1
我正在使用ListView和ArrayAdapter来存放对象。当我选择一个项目时,我正在捕获所选项目的位置和索引。如果在选择之前向下滚动,则位置和索引代表项目在列表中的位置。选择这些项目将我带到另一个活动。当我使用后退按钮返回列表时,似乎ListView为可见项目获取了一个新的位置和索引。ListView - 重新启动时的索引和位置行为()
因此,我无法弄清楚如何在ListView活动的重新启动()期间引用所选项目。我试图捕捉位置和索引,但正如我所说的,它们在返回到活动时发生变化。
我对ListView的“重绘”理解是否正确?它是否根据可见物品重新编号? - 当生命周期中getView()被调用?有没有办法强制ListView的更新,以便我捕获的索引仍然指向同一个对象?
感谢, 杰森
当我单击项目,我去另一个活动。当我点击后退按钮时,“可见”列表将重新编号,从零开始的顶部项目。新的立场是不一样的。这看起来像是一种优化行为。当这种情况发生时,我会失去对先前选定项目的引用。 我在返回时正在更改ListView中的图像。如果我稍微向下滚动并选择,让我们说项目5.当我返回时,可见列表顶部的第5个项目中的图标会发生变化。这可能是之前的第七次。 – tunneling 2010-05-19 11:17:09
当您在ListView中第一次单击该项目时,项目位置必须是从零开始的位置!发布您的实施代码 – Jorgesys 2010-05-19 15:07:27
活动A是一个ListView。活动B是从活动A中选择的项目的控制器。当从活动B返回到活动A时,“旧”位置不等于所选项目的“新”位置。我注意到,项目的“新”位置是根据正在显示的顶部的位置分配的。当我有权访问它时,我会发布代码。谢谢。 – tunneling 2010-05-19 16:32:01