2011-03-06 67 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時所提供的選項卡的名稱。