回答編集履歴
1
GridViewのスクロールについて追記
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
|
+
```
|