简体   繁体   English

片段中的Android webView显示空白页面

[英]Android webView in fragment shows blank page

I'm trying to show a web page in a fragment that is inside a viewpager, but when I swipe to that fragment, it is empty and shows a blank page. 我正在尝试在viewpager中的片段中显示一个网页,但是当我滑动到该片段时,它是空的并显示一个空白页面。 I have searched this a lot and all solutions I found suggest the code I have. 我搜索了很多,我找到的所有解决方案都提出了我的代码。 The app has internet permission (and it works, because it loads data from DB) 该应用程序具有Internet权限(并且它可以工作,因为它从数据库加载数据)

This is the fragment layout XML: 这是片段布局XML:

<RelativeLayout 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.ubiqme.ubiqme.fragments.ReservationFragment">
<WebView
    android:id="@+id/webview_reservation"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

</RelativeLayout>

And this is the fragment source: 这是片段来源:

public class ReservationFragment extends Fragment {

public ReservationFragment() {
    // Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView =  inflater.inflate(R.layout.fragment_resevation, container, false);
    WebView webView = (WebView) rootView.findViewById(R.id.webview_reservation);
    WebSettings settings = webView.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setBuiltInZoomControls(true);
    settings.setSupportZoom(true);
    webView.loadUrl(getString(R.string.ubiqme_web));
    webView.setWebViewClient(new WebViewClient());
    webView.setWebChromeClient(new WebChromeClient());
    return rootView;
}

}

This fragment (reservationFragment) is added to the viewPager here: 此片段(reservationFragment)将添加到viewPager:

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new TicketsFragment(), "");
    adapter.addFragment(new KmFragment(), "");
    adapter.addFragment(new ReservationFragment(), "");
    viewPager.setAdapter(adapter);
}

The result is this: 结果是这样的: 在此输入图像描述

Hope someone can help me and thanks in advance. 希望有人可以帮助我,并提前感谢。

检查这段代码我不知道这段代码会解决你的问题,如果你的标签大小是3然后把2作为参数,否则把标签-1的数量作为参数

viewPager.setOffscreenPageLimit(2);

I feel so dumb about this, but I just found out that the url I was trying to open in the webView (and the others I tried) had no "http://" before the url. 我对此感到非常愚蠢,但我发现我试图在webView中打开的URL(以及我尝试的其他人)在url之前没有“http://”。 After adding it the webview works like a charm. 添加后,webview就像一个魅力。

Sorry 抱歉

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM