2011-12-09 35 views
0

我正在开发一个Android项目。在我的应用程序中,我有3个选项卡。由于我使用的活动有许多共同之处(如ListView),因此我使用如下继承:enter image description here需要与继承活动的选项卡上的帮助

列表a由我的SAXHandler生成,它在startDocument()中创建一个新列表。

我有一个测试用例,其中A_Activity中的列表有7个项目,而B_Activity有3个项目。当我的应用程序启动时,点击A_Activity中显示的所有项目都没有问题。点击B_Activity并切换回A_Activity后,我也没有任何问题点击前3项;但是,如果我点击第四个项目,我得到

java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3 

如果我增加B_Activity项目数为4,我与3相同的异常带4.如此替换,我敢肯定,原因当我从B_Activity跳回到A_Activity时,A_Activity中的列表仍然指向B_Activity的列表。

您的建议将不胜感激。谢谢!

+0

将如何创建MyActivity的实例为另一种活性 – Pratik

+0

由于PRATIK。我想你的意思是“如何*关于*”。这将是我的最后一个选择。 – skwok

回答

0

您可以做简单的事情,只需清除适配器数据并在每次切换活动时调用适配器类的notifyDataSetChanged。

+0

谢谢!这个提示对另一项任务有用。现在我的首要任务是找出为什么在运行测试用例之后,A_Activity中的一个已经被更改为引用C_Activity中的一个。我基于SimpleAdapter编写了自己的Adapter,并且该列表被声明为私有List **(非静态)**。 – skwok

0

片被开始使用0,所以用0

tabhost.setCurrentTab(0)开始;

1指 - > 0 2指 - > 1 等