回答編集履歴
1
追記
test
CHANGED
@@ -2,7 +2,15 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
また、```Fragment``` から ```context``` を参照する場合は、```onAttach(context: Context)``` で取得できた ```context``` を変数に割り当てて参照しても良いかと思います。
|
5
|
+
また、```Fragment``` から ```context``` を参照する場合は、```onAttach(context: Context)``` で取得できた ```context``` を変数に割り当てて参照しても良いかと思います。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
( kakajika さんのご指摘を受け追記 ) ```Fragment``` クラスでは、 ```getContext```、```requireContext()``` メソッドがあるので、それらで ```context``` を取得することも可能です。
|
10
|
+
|
11
|
+
また、```onAttach()``` で ```context``` を取得した際は、メモリリークを回避するために、 ```onDetach()``` で解放する必要があります。
|
12
|
+
|
13
|
+
|
6
14
|
|
7
15
|
|
8
16
|
|
@@ -12,7 +20,7 @@
|
|
12
20
|
|
13
21
|
|
14
22
|
|
15
|
-
|
23
|
+
var mContext: Context? = null
|
16
24
|
|
17
25
|
|
18
26
|
|
@@ -36,6 +44,16 @@
|
|
36
44
|
|
37
45
|
|
38
46
|
|
47
|
+
override fun onDetach() {
|
48
|
+
|
49
|
+
context = null
|
50
|
+
|
51
|
+
super.onDetach()
|
52
|
+
|
53
|
+
}
|
54
|
+
|
55
|
+
|
56
|
+
|
39
57
|
}
|
40
58
|
|
41
59
|
```
|