2011-03-06 50 views
0

有没有办法说如果一个活动被选中然后做点什么?Android Webview/Activity Interaction

我不知道这是为什么我问这个问题的声明,但与此类似:

if(myactivity.isselected(true)){ 
webview3.reload();} 
+1

你认为“一项活动被选中”是什么意思?这个短语在Android中没有特别的意义。 – CommonsWare 2011-03-06 01:46:47

+0

@CommonsWare这就是为什么我问,我不知道声明会是什么。我有3个选项卡,每个选项卡都有一个单独的活动,我想在刷新web选项卡时刷新webview。 – 2011-03-06 01:49:14

+0

我做了一小段代码来帮助你们理解我想要做的事情。 – 2011-03-06 17:36:02

回答

0

如果您使用选项卡,那么onTabChange()是正确的事件。并非所有标签都是单独的活动。甚至不一定是不同的布局。然后,你可以检查是否选择的选项卡就是这样

公共无效onTabChange(视图V,INT ID){ 开关(v.getId()){ 情况下(R.id.tab1)的活动{ //这样做 break; } }

tabhost支持很多功能。另一个funcitonis getTab()将返回所选标签的id(作为int)。继承人的文档http://developer.android.com/reference/android/widget/TabHost.html

+0

但是所有标签都是不同的活动,我故意这样做。这个问题在于,当我使用onTabChange时,它无法识别Web视图,因为它们都是在它们各自的类中指定的,所以我需要一个不同的方法用于此 – 2011-03-06 07:41:13

+0

从阅读您试图阻止发生的事情,屏幕锁定。你可能想尝试研究服务。那是我能想到的唯一的事情就能做到这一点。通过某种服务找到一些方法来流式传输Flash内容? – Shaun 2011-03-07 00:24:22

0

当用户通过移动不同的用户界面,他/她开始不同的活动。既然你有不同的标签,你应该有三个不同的屏幕和三个不同的活动,如果用户从一个标签移动到另一个标签,你应该先暂停初始活动并开始其他活动。

+0

我不想那么做,因为它是一个带有flash音乐播放器的webview。 Flash内容与新标签重叠,因此我需要重新加载以前的webview才能摆脱该问题。 onPause方法有效,但我想使用其他方法,因为当用户的屏幕锁定时,音乐停止播放。 – 2011-03-06 02:06:47

0

链接你可以得到的tabhost运行,与此有关的活动:

YourActivity act = (YourActivity) getLocalActivityManager().getActivity(TABKEY_1); 

然后叫你在该活动有什么方法。 TABKEY_1只是您在初始化tabhost时所提供的选项卡的名称。

相关问题