質問編集履歴

10

コード部分の改行を行いました。

2021/07/19 09:52

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -44,8 +44,6 @@
44
44
 
45
45
  画面遷移に関係する部分のみ記載します。
46
46
 
47
- 不慣れかつ現在編集しづらい環境にいるためコードの改行等が満足にできず、見づらいですがご了承ください(後ほど再度編集します)。
48
-
49
47
 
50
48
 
51
49
  フラグメント1とアクティビティ1が機能1、フラグメント2は機能2に該当します。
@@ -68,23 +66,23 @@
68
66
 
69
67
 
70
68
 
71
- // 表示するフラグメントを制御する
69
+ // 表示するフラグメントを制御する
72
-
70
+
73
- override fun getItem(position: Int): Fragment {
71
+ override fun getItem(position: Int): Fragment {
74
-
72
+
75
- return fragmentList[position]
73
+ return fragmentList[position]
76
-
74
+
77
- }
75
+ }
78
-
79
-
80
-
76
+
77
+
78
+
81
- // viewPagerにセットするコンテンツ(フラグメントリスト)のサイズ
79
+ // viewPagerにセットするコンテンツ(フラグメントリスト)のサイズ
82
-
80
+
83
- override fun getCount(): Int {
81
+ override fun getCount(): Int {
84
-
82
+
85
- return fragmentList.size
83
+ return fragmentList.size
86
-
84
+
87
- }
85
+ }
88
86
 
89
87
  }
90
88
 
@@ -102,43 +100,43 @@
102
100
 
103
101
 
104
102
 
105
- super.onCreate(savedInstanceState)
103
+ super.onCreate(savedInstanceState)
106
-
104
+
107
- setContentView(R.layout.activity_main)
105
+ setContentView(R.layout.activity_main)
108
-
109
-
110
-
106
+
107
+
108
+
111
- val fragmentList = arrayListOf<Fragment>(
109
+ val fragmentList = arrayListOf<Fragment>(
112
-
110
+
113
- view1Fragment(),
111
+ view1Fragment(),
114
-
112
+
115
- view2Fragment(),
113
+ view2Fragment(),
116
-
114
+
117
- )
115
+ )
118
-
119
-
120
-
116
+
117
+
118
+
121
- /// adapterのインスタンス生成
119
+ /// adapterのインスタンス生成
122
-
120
+
123
- val adapter = SamplePagerAdapter(supportFragmentManager, fragmentList)
121
+ val adapter = SamplePagerAdapter(supportFragmentManager, fragmentList)
124
-
122
+
125
- /// adapterをセット
123
+ /// adapterをセット
126
-
124
+
127
- viewPager.adapter = adapter
125
+ viewPager.adapter = adapter
128
-
126
+
129
- }
127
+ }
130
-
131
-
132
-
128
+
129
+
130
+
133
- fun moving(view: View){
131
+ fun moving(view: View){
134
-
132
+
135
- val intent = Intent(this,Activity1::class.java)
133
+ val intent = Intent(this,Activity1::class.java)
136
-
134
+
137
- startActivity(intent)
135
+ startActivity(intent)
138
-
136
+
139
- overridePendingTransition(0,0)
137
+ overridePendingTransition(0,0)
140
-
138
+
141
- }
139
+ }
142
140
 
143
141
  }
144
142
 
@@ -150,11 +148,35 @@
150
148
 
151
149
 
152
150
 
153
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f9f0e2">
154
-
155
-
156
-
157
- <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
151
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
152
+
153
+ xmlns:app="http://schemas.android.com/apk/res-auto"
154
+
155
+ xmlns:tools="http://schemas.android.com/tools"
156
+
157
+ android:layout_width="match_parent"
158
+
159
+ android:layout_height="match_parent"
160
+
161
+ android:background="#f9f0e2">
162
+
163
+
164
+
165
+ <androidx.viewpager.widget.ViewPager
166
+
167
+ android:id="@+id/viewPager"
168
+
169
+ android:layout_width="match_parent"
170
+
171
+ android:layout_height="match_parent"
172
+
173
+ app:layout_constraintBottom_toBottomOf="parent"
174
+
175
+ app:layout_constraintEnd_toEndOf="parent"
176
+
177
+ app:layout_constraintStart_toStartOf="parent"
178
+
179
+ app:layout_constraintTop_toTopOf="parent" />
158
180
 
159
181
  </RelativeLayout>
160
182
 
@@ -168,19 +190,19 @@
168
190
 
169
191
  class view1Fragment : Fragment() {
170
192
 
171
- override fun onCreateView(
193
+ override fun onCreateView(
172
-
194
+
173
- inflater: LayoutInflater, container: ViewGroup?,
195
+ inflater: LayoutInflater, container: ViewGroup?,
174
-
196
+
175
- savedInstanceState: Bundle?
197
+ savedInstanceState: Bundle?
176
-
198
+
177
- ): View? {
199
+ ): View? {
178
-
200
+
179
- // Inflate the layout for this fragment
201
+ // Inflate the layout for this fragment
180
-
202
+
181
- return inflater.inflate(R.layout.fragment_view1, container, false)
203
+ return inflater.inflate(R.layout.fragment_view1, container, false)
182
-
204
+
183
- }
205
+ }
184
206
 
185
207
  }
186
208
 
@@ -192,11 +214,29 @@
192
214
 
193
215
  ```Kotlin
194
216
 
195
- <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent">
196
-
197
-
198
-
199
- <Button android:id="@+id/first_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="moving"/>
217
+ <androidx.constraintlayout.widget.ConstraintLayout
218
+
219
+ xmlns:android="http://schemas.android.com/apk/res/android"
220
+
221
+ xmlns:app="http://schemas.android.com/apk/res-auto"
222
+
223
+ xmlns:tools="http://schemas.android.com/tools"
224
+
225
+ android:layout_width="match_parent"
226
+
227
+ android:layout_height="match_parent">
228
+
229
+
230
+
231
+ <Button
232
+
233
+ android:id="@+id/first_button"
234
+
235
+ android:layout_width="wrap_content"
236
+
237
+ android:layout_height="wrap_content"
238
+
239
+ android:onClick="moving"/>
200
240
 
201
241
 
202
242
 
@@ -212,23 +252,23 @@
212
252
 
213
253
  class view2Fragment : Fragment() {
214
254
 
215
- override fun onCreateView(
255
+ override fun onCreateView(
216
-
256
+
217
- inflater: LayoutInflater, container: ViewGroup?,
257
+ inflater: LayoutInflater, container: ViewGroup?,
218
-
258
+
219
- savedInstanceState: Bundle?
259
+ savedInstanceState: Bundle?
220
-
260
+
221
- ): View? {
261
+ ): View? {
222
-
262
+
223
- // Inflate the layout for this fragment
263
+ // Inflate the layout for this fragment
224
-
264
+
225
- val view = inflater.inflate(R.layout.fragment_view2, container, false)
265
+ val view = inflater.inflate(R.layout.fragment_view2, container, false)
226
-
227
-
228
-
266
+
267
+
268
+
229
- return view
269
+ return view
230
-
270
+
231
- }
271
+ }
232
272
 
233
273
  }
234
274
 

9

2021/07/19 09:52

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -144,6 +144,22 @@
144
144
 
145
145
  ```
146
146
 
147
+ MainActivity レイアウト
148
+
149
+ ```Kotlin
150
+
151
+
152
+
153
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f9f0e2">
154
+
155
+
156
+
157
+ <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
158
+
159
+ </RelativeLayout>
160
+
161
+ ```
162
+
147
163
 
148
164
 
149
165
  fragment1

8

2021/07/19 04:35

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
File without changes

7

2021/07/19 04:10

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,10 @@
54
54
 
55
55
 
56
56
 
57
+ 本質問はアクティビティ1に遷移したあともフラグメント2にスワイプで遷移できるようにするにはどういった改善が必要か、ということです。
58
+
59
+
60
+
57
61
  アダプター
58
62
 
59
63
  ```Kotlin

6

2021/07/19 04:10

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,13 @@
44
44
 
45
45
  画面遷移に関係する部分のみ記載します。
46
46
 
47
- 不慣れかつ編集しづらい環境にいるためコードが見づらいですがご了承ください。
47
+ 不慣れかつ現在編集しづらい環境にいるためコードの改行等満足にできず、見づらいですがご了承ください(後ほど再度編集します)
48
+
49
+
50
+
51
+ フラグメント1とアクティビティ1が機能1、フラグメント2は機能2に該当します。
52
+
53
+ アプリ起動時にフラグメント1が表示され、アクティビティ1に遷移する前はフラグメント2と横スワイプで移動できます。しかしアクティビティ1に遷移するとフラグメント2にスワイプで遷移できなくなります。
48
54
 
49
55
 
50
56
 
@@ -207,3 +213,7 @@
207
213
  }
208
214
 
209
215
  ```
216
+
217
+
218
+
219
+ フラグメント2のレイアウトとアクティビティ1については何も無い単なる画面ということで割愛します。

5

2021/07/19 04:05

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -44,6 +44,8 @@
44
44
 
45
45
  画面遷移に関係する部分のみ記載します。
46
46
 
47
+ 不慣れかつ編集しづらい環境にいるためコードが見づらいですがご了承ください。
48
+
47
49
 
48
50
 
49
51
  アダプター
@@ -136,6 +138,8 @@
136
138
 
137
139
  fragment1
138
140
 
141
+ ```Kotlin
142
+
139
143
  class view1Fragment : Fragment() {
140
144
 
141
145
  override fun onCreateView(
@@ -156,8 +160,12 @@
156
160
 
157
161
 
158
162
 
163
+ ```
164
+
159
165
  fragment1レイアウト
160
166
 
167
+ ```Kotlin
168
+
161
169
  <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent">
162
170
 
163
171
 
@@ -168,9 +176,7 @@
168
176
 
169
177
  </androidx.constraintlayout.widget.ConstraintLayout>
170
178
 
171
-
172
-
173
- Activity1
179
+ ```
174
180
 
175
181
 
176
182
 

4

2021/07/19 03:59

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,12 @@
40
40
 
41
41
 
42
42
 
43
+ ###コード
44
+
45
+ 画面遷移に関係する部分のみ記載します。
46
+
47
+
48
+
43
49
  アダプター
44
50
 
45
51
  ```Kotlin
@@ -110,6 +116,88 @@
110
116
 
111
117
  }
112
118
 
119
+
120
+
121
+ fun moving(view: View){
122
+
123
+ val intent = Intent(this,Activity1::class.java)
124
+
125
+ startActivity(intent)
126
+
127
+ overridePendingTransition(0,0)
128
+
129
+ }
130
+
113
131
  }
114
132
 
115
133
  ```
134
+
135
+
136
+
137
+ fragment1
138
+
139
+ class view1Fragment : Fragment() {
140
+
141
+ override fun onCreateView(
142
+
143
+ inflater: LayoutInflater, container: ViewGroup?,
144
+
145
+ savedInstanceState: Bundle?
146
+
147
+ ): View? {
148
+
149
+ // Inflate the layout for this fragment
150
+
151
+ return inflater.inflate(R.layout.fragment_view1, container, false)
152
+
153
+ }
154
+
155
+ }
156
+
157
+
158
+
159
+ fragment1レイアウト
160
+
161
+ <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent">
162
+
163
+
164
+
165
+ <Button android:id="@+id/first_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="moving"/>
166
+
167
+
168
+
169
+ </androidx.constraintlayout.widget.ConstraintLayout>
170
+
171
+
172
+
173
+ Activity1
174
+
175
+
176
+
177
+ fragment2
178
+
179
+ ```Kotlin
180
+
181
+ class view2Fragment : Fragment() {
182
+
183
+ override fun onCreateView(
184
+
185
+ inflater: LayoutInflater, container: ViewGroup?,
186
+
187
+ savedInstanceState: Bundle?
188
+
189
+ ): View? {
190
+
191
+ // Inflate the layout for this fragment
192
+
193
+ val view = inflater.inflate(R.layout.fragment_view2, container, false)
194
+
195
+
196
+
197
+ return view
198
+
199
+ }
200
+
201
+ }
202
+
203
+ ```

3

2021/07/19 03:57

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,8 @@
40
40
 
41
41
 
42
42
 
43
+ アダプター
44
+
43
45
  ```Kotlin
44
46
 
45
47
  class SamplePagerAdapter(fm: FragmentManager, private val fragmentList: List<Fragment>) :
@@ -69,3 +71,45 @@
69
71
  }
70
72
 
71
73
  ```
74
+
75
+
76
+
77
+ MainActivity
78
+
79
+ ```Kotlin
80
+
81
+ class MainActivity : AppCompatActivity() {
82
+
83
+ override fun onCreate(savedInstanceState: Bundle?) {
84
+
85
+
86
+
87
+ super.onCreate(savedInstanceState)
88
+
89
+ setContentView(R.layout.activity_main)
90
+
91
+
92
+
93
+ val fragmentList = arrayListOf<Fragment>(
94
+
95
+ view1Fragment(),
96
+
97
+ view2Fragment(),
98
+
99
+ )
100
+
101
+
102
+
103
+ /// adapterのインスタンス生成
104
+
105
+ val adapter = SamplePagerAdapter(supportFragmentManager, fragmentList)
106
+
107
+ /// adapterをセット
108
+
109
+ viewPager.adapter = adapter
110
+
111
+ }
112
+
113
+ }
114
+
115
+ ```

2

2021/07/19 03:42

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -37,3 +37,35 @@
37
37
  Android Studio 4.2.2
38
38
 
39
39
  Android 11.0(API 30)
40
+
41
+
42
+
43
+ ```Kotlin
44
+
45
+ class SamplePagerAdapter(fm: FragmentManager, private val fragmentList: List<Fragment>) :
46
+
47
+ FragmentStatePagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
48
+
49
+
50
+
51
+ // 表示するフラグメントを制御する
52
+
53
+ override fun getItem(position: Int): Fragment {
54
+
55
+ return fragmentList[position]
56
+
57
+ }
58
+
59
+
60
+
61
+ // viewPagerにセットするコンテンツ(フラグメントリスト)のサイズ
62
+
63
+ override fun getCount(): Int {
64
+
65
+ return fragmentList.size
66
+
67
+ }
68
+
69
+ }
70
+
71
+ ```

1

2021/07/19 03:39

投稿

RgrayLemon
RgrayLemon

スコア2

test CHANGED
@@ -1 +1 @@
1
- Android Kotlin
1
+ Android Kotlin 横スワイプによる画面遷移について
test CHANGED
File without changes