如何解决对于某些网站,webview onScrollChange永远不会被调用
我在SwipeRegreshLayout内有一个webview,因此,当用户位于网页顶部时,他们向上滚动swipeRefreshLayout会重新加载页面。但是,对于少数网站,如果我进入底部并尝试向上滚动swipeRefreshLayout会被触发,但不应该这样,因为仅当用户位于网页顶部时才需要触发此swipeRefreshLayout。我发现发生这种情况是因为我的webview onScrollChange方法没有被那些网站调用,结果导致该网页没有足够的信息(无论用户是网页的顶部还是底部)。
这是我的布局页面:
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
我调试是否向Webview通知有关用户在网页上滚动的方式是:
binding.webView.getViewTreeObserver().addOnScrollChangedListener(OnScrollChangedListener {
Log.d("DEBUG",binding.webView.getScrollY().toString())
if (binding.webView.getScrollY() == 0){
binding.swipeRefresh.setEnabled(true)
}
else binding.swipeRefresh.setEnabled(false)
})
对于大多数网站,此onScrollChange方法会被调用,但只有极少数网站无法调用此方法,因为我的swipeRefreshLayout工作很奇怪。我的swipeRefreshLayout无法正常工作的网站是:https://www.dailymail.co.uk/home/index.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。