2012-09-23 47 views
2

我想构建一个没有PhoneGap的Android webApplication,并且我有一个问题:当我点击一个链接时,它会打开android默认浏览器......所以如何加载webview在同一个webview Android中的链接?如何在同一个webview中加载webview链接Android

这里是我的代码:

package com.example.mobilewebview; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.webkit.WebView; 
//import android.webkit.WebViewClient; 
import android.webkit.WebSettings; 

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     WebView myWebView = (WebView) findViewById(R.id.webview); 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     myWebView.loadUrl("http://m.google.com"); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 
} 

谢谢!

回答

4

您必须拦截您的WebView可能用来执行自定义实施的URL链接。

您必须为WebView创建一个WebViewClient,然后重写public boolean shouldOverrideUrlLoading(WebView view, String url)方法来实现此目的。

示例代码:

//web view client implementation 
private class CustomWebViewClient extends WebViewClient { 
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    { 
     //do whatever you want with the url that is clicked inside the webview. 
     //for example tell the webview to load that url. 
     view.loadUrl(url); 
     //return true if this method handled the link event 
     //or false otherwise 
     return true; 
    } 
}} 

//in initialization of the webview: 
.... 
webview.setWebViewClient(new CustomWebViewClient()); 
.... 

告诉我,如果没有什么帮助。

相关问题