回答編集履歴
2
一時書きだった追記を更新
answer
CHANGED
@@ -1,11 +1,18 @@
|
|
1
1
|
onCreateView で処理するのはよくありません。
|
2
2
|
onActivityCreated 以降で作業するべき。
|
3
3
|
|
4
|
+
---
|
5
|
+
追記
|
4
|
-
|
6
|
+
詳しい説明は諦めました。僕には高尚すぎます。詳しい方のご助力に期待してください。
|
5
7
|
|
6
|
-
後で説明1
|
7
|
-
適切な資料を探すのに手間取りそうなので、一旦もの凄く雑に説明しておきます。
|
8
|
-
|
9
8
|
onCreateView() では View を返して画面を確定するのですが、その中で確定する前に findViewById を利用しても適切に処理することができません。
|
10
9
|
|
10
|
+
以下の動作の差異を確認してください。
|
11
|
+
|
12
|
+
```java
|
13
|
+
View v = inflater.inflate(R.layout.activity_fragment0, null);
|
14
|
+
TextView dy =(TextView) v.findViewById(R.id.mayday);
|
15
|
+
|
16
|
+
// これは null になります
|
11
|
-
|
17
|
+
// TextView dy =(TextView) getActivity().findViewById(R.id.mayday);
|
18
|
+
```
|
1
「あとで追記」を仮書き
answer
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
onCreateView で処理するのはよくありません。
|
2
2
|
onActivityCreated 以降で作業するべき。
|
3
3
|
|
4
|
-
※ あとで詳しく追記します。
|
4
|
+
※ あとで詳しく追記します。
|
5
|
+
|
6
|
+
後で説明1
|
7
|
+
適切な資料を探すのに手間取りそうなので、一旦もの凄く雑に説明しておきます。
|
8
|
+
|
9
|
+
onCreateView() では View を返して画面を確定するのですが、その中で確定する前に findViewById を利用しても適切に処理することができません。
|
10
|
+
|
11
|
+
ライフサイクル的は先ずは onCreateView() で確定させてから、onActivityCreated() なり onStart() なり適切な場所で findViewById を利用するべきです。
|