从活动组如何调用属于不同活动组的孩子?
My DealDetailsActivity.java是名为TabGroupactivity的ActivityGroup的子活动。在这里,我正在调用另一个名为ViewStoreActivity的活动。
Intent frequentMessages = new Intent(getParent(),ViewStoreActivity.class);
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("ViewStoreActivity", frequentMessages);
它的工作。 来自另一个名为RedeemedActivity的活动,它是另一个名为FavouriteGroupActivity的ActivityGroup的子项,我这样调用DealDetailsActivity; Intent frequentMessages = new Intent(getParent(),DealDetailsActivity.class); parentActivity.startChildActivity(“DealDetailsActivity_fav”,frequentMessages);
之后当我尝试像第一个代码一样调用ViewStoreActivity时,我收到了错误。
01-23 10:44:04.373: E/AndroidRuntime(1807): Caused by: java.lang.ClassCastException: com.dom.shoppers.FavouriteGroupActivity cannot be cast to com.dom.shoppers.TabGroupActivity
viewstoreactivity的超类是TabGroupActivity。
并且classcastexception在这里发生 即 TabGroupActivity parentActivity =(TabGroupActivity)getParent();
泰语是,站在一个属于名为TabGroupActivityFavs的不同活动组的活动中,我试图调用属于Tabgroupactivity的活动。 所以发生了错误,说TabGroupActivityFavs无法转换为TabGroupActivity。
有没有办法实现这个....
如果我使用startactivity(),那么我没有查看选项卡。因为我希望所有活动的标签都一致,所以我不能使用....
任何想法???
答案 0 :(得分:1)
感谢您的澄清。什么是ViewStoreActivity
的直接超类?我假设您发布的LogCat条目是FavouriteGroupActivity。那是对的吗?而且,错误是什么线?
是Intent frequentMessages = new Intent(getParent(), DealDetailsActivity.class);
吗?
或parentActivity.startChildActivity("DealDetailsActivity_fav", frequentMessages
?我很确定应该是这一行抛出错误,但请告诉我,如果我错了。您收到错误的原因是ViewStoreActivity不是TabGroupActivity的子代。当你调用startChildActivity时,你基本上是在告诉它开始一个不属于TabGroupActivity的子活动。
您是否可以调用startActivity()而不是startChildActivity()?如果你调用startActivity(),它应该处理你的错误。