在使用新内容加载网页视图时,我遇到了一个不寻常的问题。
想象一下即将实施的电子书阅读器应用程序......
应用程序允许用户前后交换(推送)屏幕以查看章节内容(除了阅读书籍外)。
包含多个章节的书籍,我将每章保留在单独的网页中
当活动开始时,我将第一章加载到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)。
我该如何解决这个问题?