2011-03-06 48 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>