2011-03-06 73 views
5

我有web視圖不好的經驗,這不加載網頁,我請求。問題的網頁流量不加載

我無法加載谷歌或其他頁面,網頁視圖。我已經把XML:

<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/webview" 
    android:layout_marginLeft="250px" 
     android:layout_marginTop="80px" 
    android:layout_width="180px" 
    android:layout_height="160dip" 
/> 

我再放入代碼:

mWebView = (WebView) findViewById(R.id.webview); 
      mWebView.getSettings().setJavaScriptEnabled(true); 
      mWebView.loadUrl("http://www.google.com"); 

這說明了,說明該網頁無法使用。

我還添加了許可清單。

我有這樣的應用程序,它使用加載YouTube網址以內罰款的另一項活動:

startActivity(new Intent(Intent.ACTION_VIEW, 
           Uri.parse("http://www.youtube.com/watch?v=XS998HaGk9M")));// Starts an intent to watch the video 

我不知道這可能是什麼,真的需要這樣的建議,因爲我需要得到它的工作。

感謝

編輯:我還不能實際模擬器本身內訪問任何網頁。通過在模擬器中的搜索欄中搜索,連接到Google時會顯示相同的內容。

我不知道爲什麼會連接到YouTube的意圖,而不是網頁視圖

編輯:這是不是即使連接到YouTube現在,它說,與上述相同。這很糟糕,因爲我明天需要這個爲我的項目工作。如果webview繼續下去,這不是很可靠。我可能不得不改變我正在使用的設備,因爲android的事情總是出錯。

編輯:我剛回來的幾個小時後,無需接觸代碼或模擬器,當我運行應用程序的YouTube視頻回,我可以在模擬器中進行瀏覽。但我仍然無法通過webview進行連接。很不可思議:(

+0

你有過任何這方面的進展如何? – 2011-04-19 14:18:42

回答

1

模擬器是否可以訪問互聯網?我注意到模擬器中有類似的行爲,這是由於仿真器沒有正確啓動,唯一的工作是我能夠想出是重新啓動模擬器,直到它有互聯網連接(通常是一個或兩次)。

-Dan

+0

謝謝,模擬器不能訪問互聯網。但我可以用上面的意圖連接到YouTube。我已經多次重啓模擬器和電腦。謝謝 – Raj 2011-03-06 14:41:00

3

確保爲Internet訪問您已經包括權限

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

我有同樣的問題,似乎是解決的問題d將webview代碼放在MainActivity.onCreate()方法以外的地方。例如,把含有webview.loadUrl(…)代碼分成一個按鈕onClick方法。 WebView在啓動活動時顯示爲空,並在單擊按鈕時正確填充。

1
package com.Example.Browser; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.View; 
import android.webkit.WebSettings; 
import android.webkit.WebSettings.PluginState; 
import android.webkit.CookieManager; 
import android.webkit.WebView; 
import android.webkit.WebSettings.RenderPriority; 
import android.webkit.WebViewClient; 

public class MainActivity extends Activity { 


private WebView mWebView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    CookieManager.getInstance().setAcceptCookie(true);//Enable Cookies 

    mWebView = (WebView) findViewById(R.id.webView1); 
    mWebView.getSettings().setJavaScriptEnabled(true);//Enable Java Script 
    mWebView.setWebViewClient(new HelloWebViewClient()); 
    mWebView.loadUrl("http://www.google.com/"); //Set Home page 
    mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);//Remove ScrollBars 
    mWebView.getSettings().setDefaultFontSize(12);//Set Font Size 
    mWebView.getSettings().setLoadsImagesAutomatically(true);//Enable Image Loading 
    mWebView.getSettings().setPluginState(PluginState.ON);//Enable Flash 
    mWebView.getSettings().setRenderPriority(RenderPriority.HIGH); //improves Feedback  on touch 
    //mWebView.setBackgroundColor(0x00000000);//Transparent Screen When Loading 
    //mWebView.getSettings().setBuiltInZoomControls(true);//Set Zoom Controls 
    //mWebView.getSettings().setDisplayZoomControls(false);//Always Hide Zoom  Controlls(Requires Api 11) 

    mWebView.getSettings().setAppCacheMaxSize(1024*1024*8);//Set Cache (8mb) 
    String appCachePath =  getApplicationContext().getCacheDir().getAbsolutePath();//Set Cache (8mb) 
    mWebView.getSettings().setAppCachePath(appCachePath);//Set Cache (8mb) 
    mWebView.getSettings().setAllowFileAccess(true);//Set Cache (8mb) 
    mWebView.getSettings().setAppCacheEnabled(true);//Set Cache (8mb) 
    mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);//Set Cache (8mb) 

    mWebView.requestFocus(View.FOCUS_DOWN);//Enable WebView Interaction 

    //mWebView.setWebViewClient(new WebViewClient() {//Open URL on Error 
    //public void onReceivedError(WebView view, int errorCode, String description,  String failingUrl) {//Open URL on Error 
    //mWebView.loadUrl("http://www.google.com");//Open URL on Error 

    //mWebView.loadUrl("file:///android_asset/error_404.jpg"); //Show Offline HTML  file or Image on Error 
    // } 
    // }); 
    } 

private class HelloWebViewClient extends WebViewClient { 
@Override 
public boolean shouldOverrideUrlLoading(WebView webview, String url) 
{ 


webview.loadUrl(url); 
return true; 
} 
} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 

if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) 

{ 
mWebView.goBack(); 
return true; 
} 
return super.onKeyDown(keyCode, event); 
} 
} 


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity" > 

<WebView 
    android:id="@+id/webView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

</RelativeLayout>