【发布时间】:2019-03-06 12:01:21
【问题描述】:
我有一个Fragment,里面有ViewPager,它包含3个标签。我使用 Jetpack 导航 来处理导航。在第一个选项卡中,我有一个 Fragment 和 WebView,根据 Jetpack 导航的本机行为,每次我们导航到另一个片段时它都会重新创建视图。
这就是问题所在,每次我导航回WebViewFragment 时,它都会加载 URL。这是无法使用实时数据处理的。
我曾尝试缓存 Webview 内容,但这只是加快了加载速度,但不是即时的。
这是我的代码 sn-p
MyFragment.kt
class MyFragment : BaseViewModelFragment<MyViewModel>(), View.OnClickListener {
override fun getContentResource(): Int = R.layout.fragment_my
override fun buildViewModel(): MyViewModel {
return ViewModelProviders.of(this, viewModelFactory)[MyViewModel::class.java]
}
override fun initLiveDataObservers() {
super.initLiveDataObservers()
}
override fun initViews() {
super.initViews()
setupWebView()
}
private fun setupWebView() = with(webView) {
settings.domStorageEnabled = true
settings.setAppCachePath("/data/data/" + activity?.packageName + "/cache")
settings.setAppCacheEnabled(true)
settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK
webViewClient = MyWebviewClient()
webChromeClient = MyChromeClient()
loadUrl("http://google.com")
}
}
任何帮助都会得到帮助,在此先感谢!
【问题讨论】:
标签: android android-viewpager android-webview android-jetpack android-architecture-navigation