如何在TabActivity中访问Activity的方法

时间:2010-10-01 11:54:16

标签: android

我想使用:

访问TabActivity运行的Activity的公共方法
TabHost tabHost = getTabHost();
Intent intentMsgsView = new Intent().setClass(this, TeamHuddleScreenMsgsView.class);
tabHost.addTab(tabHost.newTabSpec("msgs").setIndicator("Messages").setContent(intentMsgsView));

基本上,我是什么让父Activity调用子Activity中的方法才能做某事。这可能吗?

我试过这个:

((TeamHuddleScreenMsgsView)getTabHost().getCurrentTabView().getContext()).refreshModel();

但我遇到了ClassCastException。似乎getContext()仍然提供TabActivity。有关如何获取子Activity的任何帮助?

感谢。

2 个答案:

答案 0 :(得分:7)

听听CommonsWare在这里说的话,我走了这条路,这是一个可怕的错误,但这就是你如何做到的。

((SportsActivity)getLocalActivityManager().getCurrentActivity()).setLayout(R.layout.helpview);

此处setLayout是我在SportsActivity

中制作的公开方法

答案 1 :(得分:2)

如果您不在活动标签中放置活动并将视图放在标签中,这将更加简单,因为这意味着只有一项活动。 Here is a sample project显示了如何完成此操作。

getActivity()上的ActivityGroup方法(TabActivity的父类)没有文档但可能是你想要的。