回答編集履歴

5

誤字

2022/12/11 07:01

投稿

jimbe
jimbe

スコア12543

test CHANGED
@@ -61,7 +61,7 @@
61
61
  Page1Fragment.java ( 元 TestPager.java )
62
62
  このクラスは (Pager では無く ) Fragment なので, クラス名を変更。
63
63
  newInstance メソッドは、アダプタで直接 new しているので存在意味がありません。
64
- onCreate や onCreateView は使わず、コンストラクタで super にレイアウトを渡し onViewCreated を使うのがお勧めです。 ( 今の Fragment#onCreateView はコンストラクタで指定したレイアウトを infrate して返すようになっています。)
64
+ onCreate や onCreateView は使わず、コンストラクタで super にレイアウトを渡し onViewCreated を使うのがお勧めです。 ( 今の Fragment#onCreateView はコンストラクタで指定したレイアウトを inflate して返すようになっています。)
65
65
 
66
66
  [Fragment#onCreateView()](https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle))
67
67
  >デフォルトの View は、Fragmentコンストラクターを呼び出すことで返すことができます。それ以外の場合、このメソッドは null を返します。

4

修正

2022/12/11 05:46

投稿

jimbe
jimbe

スコア12543

test CHANGED
@@ -2,7 +2,7 @@
2
2
  ボタンはフラグメントのレイアウトにあるのですから、ボタンの処理はフラグメントに書くしかありませんし、そうなるためのフラグメントと言っても良いくらいです。
3
3
  (ViewModel うんぬんはとりあえず無しにしました。)
4
4
 
5
- 質問自体とは関係ありませんが、クラス名や変数名等をおざなりにし過ぎです。
5
+ 質問自体とは関係ありませんが、クラス名や変数名等をテキトウにし過ぎです。
6
6
  コードを理解する際に足がかりになるのは、動作に関係ない(間違っているかも知れない)コメントでは無く実際に動作するクラス名や変数名ですので、もう少し気を使われたほうが良いと思います。
7
7
 
8
8
  MainActivity.java (PageAdapter クラスを内包)

3

package が残っていたのを削除

2022/12/11 05:42

投稿

jimbe
jimbe

スコア12543

test CHANGED
@@ -58,7 +58,7 @@
58
58
  }
59
59
  }
60
60
  ```
61
- Page1Fragment .java ( 元 TestPager.java )
61
+ Page1Fragment.java ( 元 TestPager.java )
62
62
  このクラスは (Pager では無く ) Fragment なので, クラス名を変更。
63
63
  newInstance メソッドは、アダプタで直接 new しているので存在意味がありません。
64
64
  onCreate や onCreateView は使わず、コンストラクタで super にレイアウトを渡し onViewCreated を使うのがお勧めです。 ( 今の Fragment#onCreateView はコンストラクタで指定したレイアウトを infrate して返すようになっています。)
@@ -94,8 +94,6 @@
94
94
  ```
95
95
  Page2Fragment.java ( 元 Test1Pager.java )
96
96
  ```java
97
- package com.teratail.q_5ljzf8nuh7x07v;
98
-
99
97
  import android.os.Bundle;
100
98
  import android.view.View;
101
99
  import android.widget.Button;

2

修正

2022/12/11 04:47

投稿

jimbe
jimbe

スコア12543

test CHANGED
@@ -1,5 +1,6 @@
1
1
  質問へのコメントにも書きましたが、ボタンとアクティビティは全く関係ありません。
2
2
  ボタンはフラグメントのレイアウトにあるのですから、ボタンの処理はフラグメントに書くしかありませんし、そうなるためのフラグメントと言っても良いくらいです。
3
+ (ViewModel うんぬんはとりあえず無しにしました。)
3
4
 
4
5
  質問自体とは関係ありませんが、クラス名や変数名等をおざなりにし過ぎです。
5
6
  コードを理解する際に足がかりになるのは、動作に関係ない(間違っているかも知れない)コメントでは無く実際に動作するクラス名や変数名ですので、もう少し気を使われたほうが良いと思います。
@@ -57,10 +58,10 @@
57
58
  }
58
59
  }
59
60
  ```
60
- Page1Fragment .java
61
+ Page1Fragment .java ( 元 TestPager.java )
61
- 元 TestPager ですが、このクラスは (Pager では無く ) Fragment なので, クラス名を変更しました
62
+ このクラスは (Pager では無く ) Fragment なので, クラス名を変更。
62
63
  newInstance メソッドは、アダプタで直接 new しているので存在意味がありません。
63
- onCreate や onCreateView は使わず、コンストラクタで super にレイアウトを渡し onViewCreated を使うことになっています。(各ネットの記事・例や公式のドキュメントさえこの辺りは更新されていません。今の Fragment#onCreateView はコンストラクタで指定したレイアウトを infrate して返すようになっています。)
64
+ onCreate や onCreateView は使わず、コンストラクタで super にレイアウトを渡し onViewCreated を使うのがお勧めです。 ( 今の Fragment#onCreateView はコンストラクタで指定したレイアウトを infrate して返すようになっています。)
64
65
 
65
66
  [Fragment#onCreateView()](https://developer.android.com/reference/androidx/fragment/app/Fragment#onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle))
66
67
  >デフォルトの View は、Fragmentコンストラクターを呼び出すことで返すことができます。それ以外の場合、このメソッドは null を返します。

1

修正

2022/12/11 04:42

投稿

jimbe
jimbe

スコア12543

test CHANGED
@@ -1,5 +1,8 @@
1
1
  質問へのコメントにも書きましたが、ボタンとアクティビティは全く関係ありません。
2
2
  ボタンはフラグメントのレイアウトにあるのですから、ボタンの処理はフラグメントに書くしかありませんし、そうなるためのフラグメントと言っても良いくらいです。
3
+
4
+ 質問自体とは関係ありませんが、クラス名や変数名等をおざなりにし過ぎです。
5
+ コードを理解する際に足がかりになるのは、動作に関係ない(間違っているかも知れない)コメントでは無く実際に動作するクラス名や変数名ですので、もう少し気を使われたほうが良いと思います。
3
6
 
4
7
  MainActivity.java (PageAdapter クラスを内包)
5
8
  ```java