Добавить индикатор выполнения в WebView

На высоком уровне у Вас нет никакого другого выбора затем, чтобы идти через целый Словарь и посмотреть на каждое значение.

, Возможно, это помогает: http://bytes.com/forum/thread563638.html Копия/Вставка от John Timney:

Dictionary s = new Dictionary();
s.Add("1", "a Item");
s.Add("2", "c Item");
s.Add("3", "b Item");

List> myList = new List>(s);
myList.Sort(
    delegate(KeyValuePair firstPair,
    KeyValuePair nextPair)
    {
        return firstPair.Value.CompareTo(nextPair.Value);
    }
);

46
задан Vadim Kotov 5 February 2017 в 17:14
поделиться

1 ответ

Я пробую, отклоняют достижения по методу onPageFinished () , но не хорошие слишком много, он имеет задержку для рендеринга webview.

попытка с onPageCommitVisible () лучше:

val progressBar = ProgressDialog(context)
    progressBar.setCancelable(false)
    progressBar.show()
    val url = "your url here"
    web_container.settings.javaScriptEnabled = true
    web_container.loadUrl(url)

    web_container.webViewClient = object : WebViewClient() {
        override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
            view.loadUrl(url)
            progressBar.show()
            return true
        }

        override fun onPageFinished(view: WebView?, url: String?) {
            super.onPageFinished(view, url)
        }
        override fun onPageCommitVisible(view: WebView?, url: String?) {
            super.onPageCommitVisible(view, url)
            progressBar.dismiss()
        }
    }
    web_container.setOnKeyListener(View.OnKeyListener { _, keyCode, event ->
        if (keyCode == KEYCODE_BACK && event.action == MotionEvent.ACTION_UP
                && web_container.canGoBack()) {
            web_container.goBack()
            return@OnKeyListener true
        }
        return@OnKeyListener false
    })
1
ответ дан 26 November 2019 в 20:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: