В моем Fragment(WebViewFragment)
, который содержит WebViewClient
.
mWebView.webViewClient = MyWebViewClient(this, activity!!, mView, type, ivRefresh, refreshHandler, refreshRunnable)
И мой WebViewClient
использует эту строку для перехода от WebViewFragment
к другим Fragments
.
class MyWebViewClient(private val fragment: Fragment, private val context: Context, private val mView: View, private val type: String?, private val refresh: ImageView, private val refreshHandler: Handler, private var refreshRunnable: Runnable) : WebViewClient() {
...
fun myMethod(){
fragment.findNavController().popBackStack()
fragment.findNavController().popBackStack()
}
...
}
И
fragment.findNavController().navigate(R.id.action_webViewFragment_to_mainFragment)
Я пытался с:
Navigation.findNavController(mView).navigate(R.id.action_webViewFragment_to_mainFragment)
Но получил тот же результат.
И я не могу использовать это здесь вот так:
fragmentNavController().navigate(R.id.mainFragment)
Вот почему я использовал fragment.findNavController()
.Но не сработало.
Я получаю эту ошибку:
java.lang.IllegalStateException: View android.widget.LinearLayout{ffb46cf V.E...... ......ID 0,0-720,1238} does not have a NavController set
at b.m.B.a(Navigation.java:84)
at com.example.view.main.fragment.k.a(WebViewFragment.kt:448)
Я не знаю, связано ли это, но я использую ProGuard
.Я предполагаю, что возникает проблема.Я не знаю ... У вас есть идеи ???