How to go back to previous page if back button is pressed in WebView?

后端 未结 17 1106
迷失自我
迷失自我 2020-11-22 07:06

I have an app in which I have a WebView where I display some websites. It works, clicking a link in the webpage goes to the next page in the website inside my a

17条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-22 07:41

    You can try this for webview in a fragment:

    private lateinit var webView: WebView
    
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val root = inflater.inflate(R.layout.fragment_name, container, false)
        webView = root!!.findViewById(R.id.home_web_view)
        var url: String = "http://yoururl.com"
        webView.settings.javaScriptEnabled = true
        webView.webViewClient = WebViewClient()
        webView.loadUrl(url)
        webView.canGoBack()
        webView.setOnKeyListener{ v, keyCode, event ->
            if(keyCode == KeyEvent.KEYCODE_BACK && event.action == MotionEvent.ACTION_UP
                && webView.canGoBack()){
                webView.goBack()
                return@setOnKeyListener true
            }
            false
        }
        return root
    }
    

提交回复
热议问题