androidでRecyclerViewのスクロールを禁止する方法は何ですか。
RecyclerViewのスクロールを禁止するには、カスタムLayoutManagerを設定し、そのカスタムLayoutManagerでcanScrollHorizontally()やcanScrollVertically()メソッドをオーバーライドしてfalseを返すように設定します。以下はサンプルコードです:
public class CustomLayoutManager extends LinearLayoutManager {
private boolean isScrollEnabled = true;
public CustomLayoutManager(Context context) {
super(context);
}
public void setScrollEnabled(boolean flag) {
this.isScrollEnabled = flag;
}
@Override
public boolean canScrollHorizontally() {
return isScrollEnabled && super.canScrollHorizontally();
}
@Override
public boolean canScrollVertically() {
return isScrollEnabled && super.canScrollVertically();
}
}
RecyclerViewを使用する際に、LayoutManagerをこのカスタムLayoutManagerに設定し、setScrollEnabled(false)メソッドを呼び出してスクロールを無効にします。
CustomLayoutManager layoutManager = new CustomLayoutManager(getContext());
layoutManager.setScrollEnabled(false);
recyclerView.setLayoutManager(layoutManager);