我的问题是(Android): 我有3个活动(A,B,C)和一个经理班:
- 经理类托管带有数据的Vector。 - 活动A向管理器询问向量的当前/上一个/下一个元素,并将其显示给用户(在管理器内部我使用int来记住当前位置,但我需要更改它) - 活动B,显示矢量的最小化视图,允许编辑/删除其中一些 - 活动C是应用程序的配置菜单。
我想记住在A处咨询的最后一个位置。如果用户做出以下情况: A:current = 0,next(current = 1)next(current = 2),打开B删除一个元素,回到A:我希望用户删除元素2我要显示1.如果删除0例如y想显示{1,2,3 ...} 如果用户删除了2>没问题。
我应该使用哪种索引的集合/元素?
提前谢谢
答案 0 :(得分:0)
我看到了几个选项。第一个是ActivityB可以在关闭什么(如果有的话)元素时关闭ActivityA。然后ActivityA可以根据需要调整其显示的索引。 ActivityA应该调用startActivityForResult来启动ActivityB。
另一个选项是ActivityA可以在调用ActivityB时检入onResume它正在显示的元素的索引。如果Vector.indexOf()返回-1,那么您知道正在显示的元素本身已被删除。如果没有,您就知道应该显示的当前索引。
顺便说一下,除非你需要Vector的线程安全性,否则请使用ArrayList。在规定的用例中,不需要线程安全。