如何解决webview内容加载中的异常时延问题

时间:2011-04-12 10:25:00

标签: android webview scroll delay

在使用新内容加载网页视图时,我遇到了一个不寻常的问题。

  • 想象一下即将实施的电子书阅读器应用程序......

  • 应用程序允许用户前后交换(推送)屏幕以查看章节内容(除了阅读书籍外)。

  • 包含多个章节的书籍,我将每章保留在单独的网页中

  • 当活动开始时,我将第一章加载到webview中。

  • 我在一章结束时加载一个新的章节(用户不知道将新页面加载到Web视图,他只是向前和向后翻页)

  • 在第一章2,3,4 ..n章后......

  • 下一章我需要允许用户进入上一章。

  • 在某种情况下想象一下,如果用户完成第1章并进入第2章。但用户可能需要参考上一页。然后我应该加载第1章。

  • 我可以通过加载上一章来做到这一点。但是用户可见的内容不应该是本章应该结束章节的开头。所以我滚动到章节末尾看到下面代码的结尾。但逻辑不起作用..

     public void fling(...){
     //swap forward
        if (end_of_page==false)
           scrollBy(480); 
        else if (end_of_page==true)
           webview.Load(); //load next chapter
    //swap backward
           if beginning_of_chapter==true && previous_chapter_exists==true
        webview.Load();  //load previous chapter 
        scrollBy(10000); //Scroll up to 10000 px so that i can get end of chapter
    

    问题这里是webview不会滚动到10000px。 bcoz语句 scrollBy(10000); 在上一章加载到webview之前执行(即webview加载中的延迟bcoz)。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在加载页面后使用onPageFinished进行处理。