我正在开发一个Android项目。在我的应用程序中,我有3个选项卡。由于我使用的活动有许多共同点(例如ListView),我使用继承如下:
列表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 :(得分:0)
每次切换活动时,只需清除适配器数据并调用适配器类的notifyDataSetChanged就可以做到简单。
答案 1 :(得分:0)
Tab以0开头。所以从0开始。
tabhost.setCurrentTab(0);
1表示 - > 0 2表示 - > 1 等等