如何召唤属于不同活动组的孩子?

时间:2013-01-23 06:41:40

标签: android android-activity

从活动组如何调用属于不同活动组的孩子?

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(),那么我没有查看选项卡。因为我希望所有活动的标签都一致,所以我不能使用....

任何想法???

1 个答案:

答案 0 :(得分:1)

感谢您的澄清。什么是ViewStoreActivity的直接超类?我假设您发布的LogCat条目是FavouriteGroupActivity。那是对的吗?而且,错误是什么线?

Intent frequentMessages = new Intent(getParent(), DealDetailsActivity.class);吗?

parentActivity.startChildActivity("DealDetailsActivity_fav", frequentMessages?我很确定应该是这一行抛出错误,但请告诉我,如果我错了。您收到错误的原因是ViewStoreActivity不是TabGroupActivity的子代。当你调用startChildActivity时,你基本上是在告诉它开始一个不属于TabGroupActivity的子活动。

您是否可以调用startActivity()而不是startChildActivity()?如果你调用startActivity(),它应该处理你的错误。