回答編集履歴

2

ちょっと追記

2018/08/30 14:43

投稿

katsuko
katsuko

スコア3471

test CHANGED
@@ -90,4 +90,6 @@
90
90
 
91
91
 
92
92
 
93
+ もしgetSupportLoaderManagerがdeprecatedであるならば、これが代わりになるのかもしれませんね。
94
+
93
95
  まぁ無理して使うことはないと思いますが、頭の片隅にでも置いといてください。

1

getSupportLoaderManagerのdeprecatedと、LoaderManager#getInstanceの話を追記

2018/08/30 14:43

投稿

katsuko
katsuko

スコア3471

test CHANGED
@@ -9,3 +9,85 @@
9
9
  質問はFragmentに関してですが、LoaderManagerに関しても同様です。
10
10
 
11
11
  support-v4ライブラリの機能を使用するには、FragmentActivityを継承する必要があります。
12
+
13
+
14
+
15
+ ---
16
+
17
+ マニュアルを見る限りだと、
18
+
19
+ [android.app.Activity#getLoaderManager](https://developer.android.com/reference/android/app/Activity#getLoaderManager())はAPI28でdeprecatedになったと書かれています。
20
+
21
+ [android.support.v4.app.FragmentActivity#getSupportLoaderManager](https://developer.android.com/reference/android/support/v4/app/FragmentActivity#getsupportloaderManager)は特にdeprecatedとは書かれていません。
22
+
23
+ getSupportLoaderManagerを使用するのは問題ないと思います。
24
+
25
+
26
+
27
+ ---
28
+
29
+ 余談です。
30
+
31
+
32
+
33
+ ところで、上記のマニュアルを漁っていて、気がついたのですが、[android.support.v4.app.LoaderManager#getInstance](https://developer.android.com/reference/android/support/v4/app/LoaderManager.html#getInstance(T))なるメソッドがありました。
34
+
35
+ 何となくgetSupportLoaderManagerと同じような機能のようでしたので、ちょっと試してみました。
36
+
37
+
38
+
39
+ ```java
40
+
41
+ import android.support.v4.app.FragmentActivity;
42
+
43
+ import android.support.v4.app.LoaderManager;
44
+
45
+
46
+
47
+ public class MainActivity extends FragmentActivity {
48
+
49
+ @Override
50
+
51
+ protected void onCreate(Bundle savedInstanceState)
52
+
53
+ {
54
+
55
+ super.onCreate(savedInstanceState);
56
+
57
+ //LoaderManager loaderManager = this.getSupportLoaderManager();
58
+
59
+ LoaderManager loaderManager = LoaderManager.getInstance(this);
60
+
61
+ }
62
+
63
+ }
64
+
65
+ ```
66
+
67
+
68
+
69
+ ただし、support-v4のversionを28にしないとエラーが出ました。
70
+
71
+
72
+
73
+ ```
74
+
75
+ // build.gradle
76
+
77
+ dependencies {
78
+
79
+ // こちらではビルドエラー。
80
+
81
+ //implementation 'com.android.support:support-v4:27.+'
82
+
83
+ // こちらで使える。
84
+
85
+ implementation 'com.android.support:support-v4:28.+'
86
+
87
+ }
88
+
89
+ ```
90
+
91
+
92
+
93
+ まぁ無理して使うことはないと思いますが、頭の片隅にでも置いといてください。