2013-11-22 62 views
0

我对Android非常陌生,我正尝试使用WebView。当我加载一个网站时,它使用手机浏览器,而不是在应用内显示网站。有什么建议么?Android WebView不能正常工作

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     String url = "http://www.kylesutherland.com"; 

     WebView view = (WebView) findViewById(R.id.webview); 
     view.getSettings().setJavaScriptEnabled(true); 
     view.loadUrl(url); 
    } 

回答

1

你需要为了得到在页面内的链接”

browser.setWebViewClient(new WebViewClient() { 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // TODO Auto-generated method stub 
      view.loadUrl(url); 
      return true; 
     } 
    }); 

在你的情况应该是这样的添加WebViewClient

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    String url = "http://www.kylesutherland.com"; 

    WebView view = (WebView) findViewById(R.id.webview); 
    view.getSettings().setJavaScriptEnabled(true); 
    view.loadUrl(url); 
    //starting from here 
    view.setWebViewClient(new WebViewClient() { 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // TODO Auto-generated method stub 
      view.loadUrl(url); 
      return true; 
} 

希望这是你请给我一个反馈

1

在loadUrl()之前试试这个:

webView.setWebViewClient(new WebViewClient() 
{ 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) 
     { 
      return false; 
     } 
}); 
1

试试这个:

mWebView.setWebViewClient(new CustomWebViewClient()); 

mWebView.setWebChromeClient(new WebChromeClient()); 

    private class CustomWebViewClient extends WebViewClient { 

    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     super.onPageStarted(view, url, favicon); 

    } 

    @Override 
    public void onLoadResource(WebView view, String url) { 
     super.onLoadResource(view, url); 

    } 

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

     return true; 

    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 

    } 
} 

希望这有助于。

0

试试这个..

public class MainActivity extends Activity { 

WebView web; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     web = (WebView) findViewById(R.id.webView1); 
     web.setWebViewClient(new myWebClient()); 
     web.loadUrl("http://uniqueandroidtutorials.blogspot.in"); 
    } 

    public class myWebClient extends WebViewClient { 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      // TODO Auto-generated method stub 
      super.onPageStarted(view, url, favicon); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // TODO Auto-generated method stub 

      view.loadUrl(url); 
      return true; 

     } 
    } 
} 

activity_main.xml中

<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" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

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

</RelativeLayout> 

希望这有助于你..