【问题标题】:Open links on same Webview not in browser在不在浏览器中的同一 Webview 上打开链接
【发布时间】:2013-05-22 08:48:37
【问题描述】:
我做了这个:
public class Neshaniha extends Activity {
private WebView webView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_neshaniha);
webView = (WebView) findViewById(R.id.webview);
webView.loadUrl("http://www.mywebsite.org/");
}
}
但是如果我在这个应用程序中打开链接,它会在浏览器中打开,而不是在应用程序中。
这个怎么做?
谢谢。
【问题讨论】:
标签:
android
eclipse
browser
hyperlink
【解决方案1】:
为您的 Webview 使用 WebViewClient。
【解决方案2】:
随便用吧
WebView webviewGoogle;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.news);
webviewGoogle= (WebView)findViewById(R.id.site_news);
webView();
}
private void webView(){
webviewGoogle.getSettings().setJavaScriptEnabled(true);
webviewGoogle.setWebViewClient(new MyWebViewClient());
webviewGoogle.setWebViewClient(new WebViewClient());
webviewGoogle.loadUrl("http://www.google.com/");
}
@Override public void onBackPressed() {
if(webviewGoogle.canGoBack()) {
webviewGoogle.goBack();
} else {
super.onBackPressed();
}
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("http://www.google.com/")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}