У меня есть фрагмент с WebView. Webview запускает ссылку, но только частично. Щелчки на кнопках не работают и часть интерфейса не загружается. У меня есть подобный код в другом приложении, и там все работает правильно.
class SomeFragment {
//Some code
//This method invoke in onViewCreated
override fun initView() {
//some code
initWebView()
}
//This method invoked by presenter
//reference is correct, i checked it
override fun updateView(reference: String, mimeType: String, encoding: String) =
webView.loadData(reference, mimeType, encoding)
@SuppressLint("SetJavaScriptEnabled")
private fun initWebView() {
webView.settings.javaScriptEnabled = true
webView.settings.cacheMode = WebSettings.LOAD_NO_CACHE
webView.settings.domStorageEnabled = true
webView.webViewClient = CustomWebClient()
}
private inner class CustomWebClient : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
return if (url.contains("google")) {
true
} else super.shouldOverrideUrlLoading(view, url)
}
}
}
Это мой макет XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:clickable="true"
android:focusable="true">
<include
android:id="@+id/toolbar"
layout="@layout/view_header_toolbar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar" />
<View
style="@style/ShadowPopupHorizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar" />
</androidx.constraintlayout.widget.ConstraintLayout>
Это желаемый результат.
И вот результат