2014-08-28 60 views
-1

你好我正在爲一個的Youtube頻道小Android應用程序,我已經得到持有兩個不同的活動兩者運行在創建Web視圖選項卡主機。二的WebView不加載

我有一個Web視圖客戶端處理外部鏈接(每個Web視圖活動一個)。

第一個標籤加載的網頁很好,但第二個只是空白,當我從標籤切換到它我該如何解決?

以下是處理選項卡的主要活動的主體代碼。

@SuppressWarnings("deprecation") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    TabHost tabHost = getTabHost(); 
    TabSpec youtubespec = tabHost.newTabSpec("Youtube"); 
    // setting Title and Icon for the Tab 
    youtubespec.setIndicator("Youtube", getResources().getDrawable(R.drawable.youtube_icon)); 
    Intent youtubeIntent = new Intent(this, Youtube.class); 
    youtubespec.setContent(youtubeIntent); 

    TabSpec websitespec = tabHost.newTabSpec("Website"); 
    // setting Title and Icon for the Tab 
    websitespec.setIndicator("Website", getResources().getDrawable(R.drawable.website_icon)); 
    Intent websiteIntent = new Intent(this, Website.class); 
    websitespec.setContent(websiteIntent); 

    tabHost.addTab(youtubespec); 
    tabHost.addTab(websitespec); 

} 

這裏是第一web視圖的代碼。 WebView web1;

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.youtube); 
    web1 = (WebView) findViewById(R.id.webyt); 
    web1.setWebViewClient(new WebViewClient1()); 
    WebSettings webSettings = web1.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setLoadsImagesAutomatically(true); 
    webSettings.setPluginState(PluginState.ON); 
    webSettings.setJavaScriptCanOpenWindowsAutomatically(false); 
    webSettings.setSupportMultipleWindows(true); 
    webSettings.setSupportZoom(true); 
    webSettings.setBuiltInZoomControls(true); 
    web1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
    web1.loadUrl("http://www.youtube.com/user/theanykeyyt"); 

} 


@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // Check if the key event was the Back button and if there's history 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) { 
     web1.goBack(); 
     return true; 
    } 
    // If it wasn't the Back key or there's no web page history, bubble up to the default 
    // system behavior (probably exit the activity) 
    return super.onKeyDown(keyCode, event); 
} 

下面是第二幅圖

WebView web2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.website); 
    web2 = (WebView) findViewById(R.id.websitea); 
    web2.setWebViewClient(new WebViewClient2()); 
    WebSettings webSettings = web2.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setLoadsImagesAutomatically(true); 
    webSettings.setPluginState(PluginState.ON); 
    webSettings.setJavaScriptCanOpenWindowsAutomatically(false); 
    webSettings.setSupportMultipleWindows(true); 
    webSettings.setSupportZoom(true); 
    webSettings.setBuiltInZoomControls(true); 
    web2.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
    web2.loadUrl("http://theanykeyyt.wix.com/theanykey"); 


} 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // Check if the key event was the Back button and if there's history 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web2.canGoBack()) { 
     web2.goBack(); 
     return true; 
    } 
    // If it wasn't the Back key or there's no web page history, bubble up to the default 
    // system behavior (probably exit the activity) 
    return super.onKeyDown(keyCode, event); 
} 

這裏代碼的Web客戶端

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    view.loadUrl(url); 
    return true; 

} 
+1

我沒有發現你的代碼有任何問題。我已經測試過它,它的工作很棒。您是否在清單文件中提供了互聯網許可? – GrIsHu 2014-08-28 05:59:50

+0

是的,我確實有 – Dragonfable517 2014-08-28 06:02:17

+0

嘿我修復它只是需要添加<使用權限android:name =「android.permission.ACCESS_NETWORK_STATE」/> – Dragonfable517 2014-08-28 06:06:37

回答

0

固定剛剛添加此體現

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET"/>