-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;
}
我沒有發現你的代碼有任何問題。我已經測試過它,它的工作很棒。您是否在清單文件中提供了互聯網許可? – GrIsHu 2014-08-28 05:59:50
是的,我確實有 – Dragonfable517 2014-08-28 06:02:17
嘿我修復它只是需要添加<使用權限android:name =「android.permission.ACCESS_NETWORK_STATE」/> – Dragonfable517 2014-08-28 06:06:37