【问题标题】:Android WebView inside ViewPager displays only after clickViewPager中的Android WebView仅在单击后显示
【发布时间】:2012-06-28 13:58:05
【问题描述】:

我偶然发现了另一个棘手的错误...

我使用的是基本的 ViewPager,它由几个页面组成,这些页面基本上由 HTML 组成,由一个 WebView 显示。

我用的方法:

mWebView.loadDataWithBaseURL(null, html, "text/html", "utf-8", "about:blank") 

用于显示内容。 HTML 是一个字符串变量。一切正常,但我希望所有视图都被预加载(我设置了 viewpager 的 offscreenpage 限制,甚至用正确的数据调用实例化项目),但事实并非如此。

webview 已加载,但仅在单击后显示。我首先没有想到,因为每次我想显示另一个页面时我都会点击,但如果你快速移动,点击会有点延迟并且没有页面显示。只有在我再次点击之后。 或者,如果我拖动一个页面并稍微向右移动,我可以看到另一个视图尚未加载...它仅在一秒钟后显示。

有没有人遇到过类似的情况?

感谢任何帮助。

【问题讨论】:

    标签: android webview android-viewpager


    【解决方案1】:

    我也有同样的问题,正在寻求帮助。似乎整个 ViewPager 直到单击后聚焦后才显示,但是 requestFocus() 和 requestChildFocus() 都没有工作。 有一点不同,这个问题只发生在我初始化 ViewPager 时。当我移动到另一个页面时,webview 内容显示良好。

    【讨论】:

    • 是的,我也遇到了同样的问题……我也试过了,loadDataWithBaseURL是否有问题,不过没关系。 loadData、loadDataWithBaseURL 和 loadPage,在这种情况下,它们的行为都相同。
    【解决方案2】:

    我找到了解决方案:只需使用ViewPager.setCurrentItem(position) 来显示您想要的默认页面(在我的情况下通常是第一页)。

    【讨论】:

    • 我正在设置当前项目。不过没用,还是没看懂。但无论如何,我试图修改我的 loadDataWithBaseURL 并且它现在似乎正在工作......
    【解决方案3】:

    您需要在寻呼机中删除setPageTransformer。我有同样的问题,我已经解决了。

    【讨论】:

      猜你喜欢
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多