teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

ちょっと追記

2018/08/30 14:43

投稿

katsuko
katsuko

スコア3601

answer CHANGED
@@ -44,4 +44,5 @@
44
44
  }
45
45
  ```
46
46
 
47
+ もしgetSupportLoaderManagerがdeprecatedであるならば、これが代わりになるのかもしれませんね。
47
48
  まぁ無理して使うことはないと思いますが、頭の片隅にでも置いといてください。

1

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

2018/08/30 14:43

投稿

katsuko
katsuko

スコア3601

answer CHANGED
@@ -3,4 +3,45 @@
3
3
 
4
4
  [以前、似たような質問に回答しました](https://teratail.com/questions/135504#reply-205381)ので、そちらもご覧ください。
5
5
  質問はFragmentに関してですが、LoaderManagerに関しても同様です。
6
- support-v4ライブラリの機能を使用するには、FragmentActivityを継承する必要があります。
6
+ support-v4ライブラリの機能を使用するには、FragmentActivityを継承する必要があります。
7
+
8
+ ---
9
+ マニュアルを見る限りだと、
10
+ [android.app.Activity#getLoaderManager](https://developer.android.com/reference/android/app/Activity#getLoaderManager())はAPI28でdeprecatedになったと書かれています。
11
+ [android.support.v4.app.FragmentActivity#getSupportLoaderManager](https://developer.android.com/reference/android/support/v4/app/FragmentActivity#getsupportloaderManager)は特にdeprecatedとは書かれていません。
12
+ getSupportLoaderManagerを使用するのは問題ないと思います。
13
+
14
+ ---
15
+ 余談です。
16
+
17
+ ところで、上記のマニュアルを漁っていて、気がついたのですが、[android.support.v4.app.LoaderManager#getInstance](https://developer.android.com/reference/android/support/v4/app/LoaderManager.html#getInstance(T))なるメソッドがありました。
18
+ 何となくgetSupportLoaderManagerと同じような機能のようでしたので、ちょっと試してみました。
19
+
20
+ ```java
21
+ import android.support.v4.app.FragmentActivity;
22
+ import android.support.v4.app.LoaderManager;
23
+
24
+ public class MainActivity extends FragmentActivity {
25
+ @Override
26
+ protected void onCreate(Bundle savedInstanceState)
27
+ {
28
+ super.onCreate(savedInstanceState);
29
+ //LoaderManager loaderManager = this.getSupportLoaderManager();
30
+ LoaderManager loaderManager = LoaderManager.getInstance(this);
31
+ }
32
+ }
33
+ ```
34
+
35
+ ただし、support-v4のversionを28にしないとエラーが出ました。
36
+
37
+ ```
38
+ // build.gradle
39
+ dependencies {
40
+ // こちらではビルドエラー。
41
+ //implementation 'com.android.support:support-v4:27.+'
42
+ // こちらで使える。
43
+ implementation 'com.android.support:support-v4:28.+'
44
+ }
45
+ ```
46
+
47
+ まぁ無理して使うことはないと思いますが、頭の片隅にでも置いといてください。