Android中WebView使用的一个问题
2017-02-22 本文已影响90人
自己找知己
Android项目中使用WebView,解决问题时顺便遇到的一个页面回调时序的问题。
问题描述
WebView加载html时,需要设置页面title,因此想到在onReceivedTitle回调方法中设置页面控件内容。参考其他博客内容,在某些国产机型及手机上,返回键调用goBack处理时,onReceivedTitle方法不会被调用,因此在onPageFinised方法中重新获取title内容进行设置
进一步追踪
既然onPageFinised中可以获取标题,那么对应的onPageStart方法中能否获取到标题呢,onPageStart,onPageFinished,onReceivedTitle方法的回调顺序又是怎样的呢?通过打印Log可以看到,onPageStart是最先被调用,随后渲染到title时,onReceivedTitle被调用,最后渲染完成onPageFinished被调用。因此,onPageStart仅仅时页面开始渲染时的回调标志,想要设置特殊的内容或者操作,需要在渲染的对应的方法中进行设置或者在onPageFinished中集中操作。