android - WebView 无法在里面加载网页

标签 android url android-fragments webview android-webview

我想在 fragment 中加载网页,但是有一些问题。

1.没有overriding shouldOverrideUrlLoading 方法,网站使用默认浏览器Chrome 打开。

2.覆盖shouldOverrideUrlLoading时,没有任何反应。只创建了新的空白 Activity 。 这是我在 Fragment 类中的 onCreateView 方法

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View resultView = inflater.inflate(R.layout.container, container, false);

    if (getArguments() != null) {
        String url  = getArguments().getString(KEY_URL);

        WebView productDetailView = (WebView)resultView.findViewById(R.id.webView);
        productDetailView.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return super.shouldOverrideUrlLoading(view, url);
            }
        });

        productDetailView.loadUrl(url);
    }
    return resultView;
}

targetSdkVersion19并添加了INTERNET权限,Fragment的XML文件如下。

<FrameLayout 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="com.example.ProductDetailFragment">


    <WebView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/webView"
        android:layout_gravity="center" />

</FrameLayout>

有什么问题吗?

最佳答案

试试这段代码

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

});
webView.loadUrl(url);

并使用 FLAG_ACTIVITY_NEW_TASK 开始您的 Activity

关于android - WebView 无法在里面加载网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23198560/

相关文章:

android - 为相同的 Android 源代码创建不同的构建

regex - 我们可以在 Tornado RequestHandler 中访问 URL 的路径参数吗?

php - 更改 WordPress 管理 URL

java - Android: "Fatal Exception"使用 Google map 时在 URLConnection 上调用 getInputStream()

android - 从服务内的线程更新 ProgressDialog

android - 在没有 GPS 的设备上安装了带有 FINE_LOCATION 的应用程序?

php - 自动链接正则表达式

Android: fragment 覆盖另一个半透明的 fragment

java - 如何在 `Fragment` 中以编程方式更改屏幕亮度

fragment 之间的 Android 导航