第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

WebView顯示內(nèi)容時(shí)是否有偵聽器?

WebView顯示內(nèi)容時(shí)是否有偵聽器?

慕尼黑8549860 2019-11-29 10:30:56
使用WebViewClient和/或WebChromeClient,您可以獲取頁(yè)面加載的偵聽器,但是有時(shí)在WebView中包含任何內(nèi)容之前,顯示任何內(nèi)容之前調(diào)用它。確定WebView何時(shí)顯示其內(nèi)容的有效方法是什么?編輯:(試圖更加清晰)在WebView中加載頁(yè)面時(shí),我想將滾動(dòng)條設(shè)置到特定位置。似乎只有在加載頁(yè)面并且頁(yè)面具有實(shí)際的內(nèi)容高度時(shí)才能設(shè)置滾動(dòng)位置。因此,我嘗試了兩種不同的方法來確定頁(yè)面何時(shí)完成加載,分別是WebViewClient的onPageFinished()和WebChromeClient的onProgressChanged()。這兩個(gè)告訴我頁(yè)面何時(shí)完成加載。但是,問題在于,有時(shí)會(huì)在頁(yè)面顯示之前調(diào)用它,因此頁(yè)面沒有高度,并且滾動(dòng)調(diào)用不執(zhí)行任何操作。我試圖找到一種確定何時(shí)可以滾動(dòng)頁(yè)面的可靠方法,即。當(dāng)其具有內(nèi)容高度時(shí)。我想我可以在加載完成后設(shè)置一個(gè)檢查循環(huán),以在高度可用時(shí)繼續(xù)尋找,但這似乎很不合理。希望有一種更清潔的方法。
查看完整描述

3 回答

?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

幾年來,我成功地將Richard的答案與PictureListener結(jié)合使用,但是我不再建議將其作為最佳解決方案。


這有兩個(gè)原因:


webView.setPictureListener和PictureListener都棄用。

使用此偵聽器將導(dǎo)致WebView經(jīng)常分配新圖片。這種分配非常昂貴,并且可能會(huì)對(duì)性能產(chǎn)生重大影響,甚至導(dǎo)致JellyBean MR1發(fā)生本機(jī)崩潰。

相反,我建議創(chuàng)建WebView的子類并覆蓋invalidate(),如下所示:


@Override

public void invalidate() {

    super.invalidate();


    if (getContentHeight() > 0) {

        // WebView has displayed some content and is scrollable.

    }

}

如果仍要使用PictureListener方法,則在將其設(shè)置為null之后將其設(shè)置為null將獲得更好的性能。


查看完整回答
反對(duì) 回復(fù) 2019-11-29
?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

自從我第一次發(fā)布此內(nèi)容以來,Android API 12中已不推薦使用此方法。感謝Google!我會(huì)保留原始答案:


是的-有一個(gè)偵聽器,用于了解內(nèi)容何時(shí)完成加載。我必須在我的項(xiàng)目上創(chuàng)建一個(gè),這樣我才能做一個(gè)初始屏幕,直到Webview加載頁(yè)面為止。


它稱為.setPictureListener。


例如:


mWebView.setPictureListener(new MyPictureListener());

//... and then later on....

class MyPictureListener implements PictureListener {


    @Override

    public void onNewPicture(WebView view, Picture arg1) {

      // put code here that needs to run when the page has finished loading and

      // a new "picture" is on the webview.      

    }    


查看完整回答
反對(duì) 回復(fù) 2019-11-29
  • 3 回答
  • 0 關(guān)注
  • 547 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)