2013-01-23 5 views
0

À partir d'un groupe d'activités, comment appeler un enfant appartenant à un groupe d'activités différent?Comment appeler un enfant appartenant à un groupe d'activités différent?

Mon DealDetailsActivity.java est une activité enfant d'un ActivityGroup nommé TabGroupactivity. En cela, j'appelle une autre activité nommée ViewStoreActivity comme ceci.

Intent frequentMessages = new Intent(getParent(),ViewStoreActivity.class); 
TabGroupActivity parentActivity = (TabGroupActivity)getParent(); 
parentActivity.startChildActivity("ViewStoreActivity", frequentMessages); 

Et son fonctionnement. À partir d'une autre activité nommée RedeemedActivity, qui est un enfant d'un autre ActivityGroup nommé FavouriteGroupActivity, j'appelle DealDetailsActivity comme ceci; Intention frequentMessages = new Intent (getParent(), DealDetailsActivity.class); ParentActivity.startChildActivity ("DealDetailsActivity_fav", frequentMessages) parentActivity.startChildActivity Après cela, lorsque j'ai essayé d'appeler ViewStoreActivity comme le premier code, j'obtiens une erreur.

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 

super classe de viewstoreactivity est TabGroupActivity.

et le classcastexception se produit ici soit TabGroupActivity parentActivity = (TabGroupActivity) getParent();

Thai est, debout dans une activité qui appartient à un autre groupe d'activités nommé TabGroupActivityFavs j'essaie d'appeler une activité qui appartient à Tabgroupactivity. donc l'erreur se produit en indiquant que TabGroupActivityFavs ne peut pas être converti en TabGroupActivity.

est-il possible de mettre en œuvre cette ....

si j'utilise startactivity(), alors je ne suis pas l'affichage des onglets. puisque je veux les onglets compatibles pour toutes les activités, je ne peux pas utiliser cela ....

une idée ???

Répondre

1

Merci pour la clarification. Quelle est la super classe directe de ViewStoreActivity? Je suppose de l'entrée LogCat que vous avez posté que c'est FavouriteGroupActivity. Est-ce exact? Et aussi, sur quelle ligne l'erreur est-elle lancée?

Est-ce Intent frequentMessages = new Intent(getParent(), DealDetailsActivity.class);?

Ou parentActivity.startChildActivity("DealDetailsActivity_fav", frequentMessages? Je suis à peu près sûr que ce devrait être cette ligne qui jette l'erreur, mais dites-moi si je me trompe. La raison pour laquelle vous obtenez l'erreur est que ViewStoreActivity n'est pas un enfant de TabGroupActivity. Lorsque vous appelez startChildActivity, vous lui dites simplement de démarrer une activité enfant n'appartenant pas à TabGroupActivity.

Serait-il possible d'appeler startActivity() au lieu de startChildActivity()? Si vous appelez startActivity() alors il devrait s'occuper de votre erreur.

+0

Ok, j'ai mis à jour ma réponse. S'il vous plaît laissez-moi savoir si cela fonctionne pour vous. – Don

Questions connexes