Webview
に配置されたアクティビティRecyclerview
コンテンツを作成しました。 WebビューをスクロールするときにスクロールY位置を取得したい。 Webview.getScrollY()
、Webview.getY()
、RecyclerView.getScrollY()
、RecyclerView.getY()
、...を試しましたが、うまくいきません。現在のスクロールYを取得できません。Webview
またはRecyclerView
のスクロールYを取得するための提案はありますか?
RecyclerViewには RecyclerView.OnScrollListener を使用し、Webビューには View.OnScrollChangeListener を使用します。
次のように、スクロール全体を自分で追跡する必要があります。
private int mTotalScrolled = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
mTotalScrolled += dy;
}
});
...
}
private int getScrollForRecycler(){
return mTotalScrolled;
}
@Pkmmteが述べたように、この状況ではcomputeVerticalScrollOffset()
の方が便利です。
mTotalScrolled = recyclerView.computeVerticalScrollOffset();