2011-05-27 23 views
0

我正在尋找在我的Android應用程序(對於OAuth權限的東西)中有一個WebView彈出窗口,但我遇到了一些問題。繼Android的在線指南,我將做到以下幾點:在TabActivity中啓動WebView

WebView webView = new WebView(this); 
setContentView(webView); 
webView.loadUrl(URL_HERE); 

我的問題是,這是,該活動實際上是一個TabActivity。當我嘗試啓動我的應用程序時,我收到了一個java.lang.RuntimeException,表示我的「內容必須有一個TabHost,其ID是arrtibute ...」。我如何能夠在我的應用程序開始時啓動WebView而不會遇到這個問題?

謝謝!

回答

0

您需要創建單獨的活動以放置在選項卡內。然後,您可以將WebView添加到其中的一個。您的TabActivity必須包含<TabHost xmlns:android="http://schemas.android.com/apk/res/android"

TabHost要求TabWidget和FrameLayout都居住在其中。要垂直放置TabWidget和FrameLayout,使用LinearLayout。 FrameLayout是每個選項卡的內容所在的位置,現在爲空,因爲TabHost會自動嵌入其中的每個活動。

請注意,TabWidget和FrameLayout元素分別具有ID標籤和tabcontent。必須使用這些名稱,以便TabHost可以檢索對它們中的每一個的引用。它期待這些名字。

您可以按照Tab Layout tutorial爲例。

如果,另一方面,你想有一個彈出,而不是一個選項卡,選中Creating a Custom Dialog

+0

我有一個標籤式佈局回事了。我只需要WebView爲用戶提供權限來訪問他們的數據。我是否應該爲WebView創建一個Activity JUST,然後在需要使用它時從TabActivity調用該Activity的Intent? – Chiggins 2011-05-27 19:00:36

+0

在這種情況下,我會使用對話框(請參閱我發佈的最後一個鏈接)。另外,你可以在你的第一個選項卡中添加一個webview,並在登錄後將其可見性設置爲GONE(我認爲對話框是一個更好的選擇) – Aleadam 2011-05-27 19:13:40

+0

對話框中的WebView?我從來沒有聽說過/看過,我不這麼認爲。 – Chiggins 2011-05-27 19:20:20