如何在同一个 webview Android 中加载 webview 链接 [英] How to load webview links inside this same webview Android

查看:29
本文介绍了如何在同一个 webview Android 中加载 webview 链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to build a Android webApplication without PhoneGap, and i have a problem : when i click on a link it open the android default browser... : so how to load webview links inside this same 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;
    }
}

谢谢!

推荐答案

您必须拦截您的 WebView 可能具有的 URL 链接,以便进行您的自定义实现.

You have to intercept the URL links that your WebView might have in order to do your custom implementation.

您必须为您的 WebView 创建一个 WebViewClient 然后覆盖 public boolean shouldOverrideUrlLoading(WebView view, String url) 方法来实现这样的事情.

You have to create a WebViewClient for your WebView and then override the public boolean shouldOverrideUrlLoading(WebView view, String url) method to achieve such a thing.

示例代码:

//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());
....

告诉我是否有帮助.

这篇关于如何在同一个 webview Android 中加载 webview 链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆