首页 > 解决方案 > 如何将 WebView 添加到片段之一

问题描述

我正在尝试添加WebView到我的 android 应用程序。为此,我正在关注本教程 - https://www.youtube.com/watch?v=TUXui5ItBkM

如果我放入Webviewactivity_main,则显示网站,尽管这不是我想要的。

我有 3 个片段,Livestream、NewsArticles 和 Settings。当我WebView像这样添加到 NewsArticles 片段时:

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

应用程序崩溃。我不确定问题是什么。我似乎也没有在 android studio 中发现任何错误/错误弹出窗口。这是MainActivity的代码:

webView = (WebView) findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://www.alt-info.com");

我也启用了互联网流量许可。

标签: javaandroid

解决方案


如果您使用的是片段,则必须指定:

替换以下代码

@Override public View onCreateView(@NonNull LayoutInflater inflater,@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    return inflater.inflate(R.layout.fragment_articles, container, false);
}

有了这个:

@Override public View onCreateView(@NonNull LayoutInflater inflater,@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_articles, container, false);
    webView = (WebView) view.findViewById(R.id.webview);
}

当你使用片段时,你必须说“view.findViewById()”。每次初始化对象时,您都会在“findViewById”前面添加“视图”。

此外,如果应用程序崩溃,Android Studio 中肯定会弹出一个错误。运行后单击“Logcat”并检查是否有任何红色文本。


推荐阅读