回答編集履歴

1

GridViewのスクロールについて追記

2019/12/19 13:15

投稿

kakajika
kakajika

スコア3131

test CHANGED
@@ -17,10 +17,6 @@
17
17
  }
18
18
 
19
19
  ```
20
-
21
-
22
-
23
- ---
24
20
 
25
21
 
26
22
 
@@ -47,3 +43,29 @@
47
43
  });
48
44
 
49
45
  ```
46
+
47
+
48
+
49
+ ---
50
+
51
+
52
+
53
+ **追記**
54
+
55
+
56
+
57
+ GridViewはスクロールのジェスチャーを検出すると、親ViewGroupのonInterceptTouchEventを呼ばれなくするメソッド([requestDisallowInterceptTouchEvent](https://developer.android.com/reference/android/view/ViewParent.html#requestDisallowInterceptTouchEvent(boolean)))を呼んでしまいます。これを回避するにはGridViewのスクロール処理が発生しないようにする必要がありますが、それ用のAPIは用意されていないようなので以下のようにACTION_MOVEのタッチイベントを奪うことで対応できます。
58
+
59
+
60
+
61
+ ```java
62
+
63
+ // ACTION_MOVEのタッチイベントをGridViewに渡さないようにする
64
+
65
+ gridView.setOnTouchListener((v, event) ->
66
+
67
+ event.getAction() == MotionEvent.ACTION_MOVE
68
+
69
+ );
70
+
71
+ ```