質問編集履歴
1
エラー解決で進展があり、その解決をお願いしたいため
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
タブの内部のボタンをクリック時に画面遷移するようにしたい。
|
4
4
|
タブ切り替えで別々のビューを表示する機能は出来ています。
|
5
5
|
|
6
|
+
※エラー解決で進行があったため下部の方で進行内容を追記しました。
|
7
|
+
|
6
8
|
### 発生している問題・エラーメッセージ
|
7
9
|
|
8
10
|
```
|
@@ -185,4 +187,75 @@
|
|
185
187
|
キャッシュのクリア等も一応行いました。
|
186
188
|
|
187
189
|
他に確認したいファイル等ありましたら教えてください。
|
188
|
-
少しでもわかる方がいましたらご教示お願いしたいです。
|
190
|
+
少しでもわかる方がいましたらご教示お願いしたいです。
|
191
|
+
|
192
|
+
~~~~~~~~~~~~~~~~~
|
193
|
+
色々と調べ少し進行できたので追記
|
194
|
+
HomeFragmentでbindingを用いていたので子のフラグメント?もbinding形式で実装が必要かと考え編集しました。
|
195
|
+
|
196
|
+
・TabtopPageFragmentファイル
|
197
|
+
```
|
198
|
+
import android.content.Context
|
199
|
+
import android.os.Bundle
|
200
|
+
import android.view.LayoutInflater
|
201
|
+
import android.view.View
|
202
|
+
import android.view.ViewGroup
|
203
|
+
import androidx.appcompat.app.AppCompatActivity
|
204
|
+
import androidx.fragment.app.Fragment
|
205
|
+
import microwave.net.pgm.golfcoursereservationapp.NormalCalendarFragment
|
206
|
+
import microwave.net.pgm.golfcoursereservationapp.R
|
207
|
+
import microwave.net.pgm.golfcoursereservationapp.databinding.TopPageNormalTabBinding
|
208
|
+
|
209
|
+
|
210
|
+
class TabHomeNormalFragment(context: Context): Fragment(){
|
211
|
+
|
212
|
+
// private var _viewTabItem : View? = null
|
213
|
+
private var _binding: TopPageNormalTabBinding? = null
|
214
|
+
private val binding get() = _binding!!
|
215
|
+
|
216
|
+
override fun onCreateView(
|
217
|
+
inflater: LayoutInflater,
|
218
|
+
container: ViewGroup?,
|
219
|
+
savedInstanceState: Bundle?
|
220
|
+
): View? {
|
221
|
+
// _viewTabItem = inflater.inflate(R.layout.top_page_normal_tab, container, false)
|
222
|
+
_binding = TopPageNormalTabBinding.inflate(inflater, container, false)
|
223
|
+
//Viewに対する処理
|
224
|
+
return binding.root
|
225
|
+
// return _viewTabItem
|
226
|
+
}
|
227
|
+
|
228
|
+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
229
|
+
super.onViewCreated(view, savedInstanceState)
|
230
|
+
|
231
|
+
binding.dayBtn.setOnClickListener {
|
232
|
+
(activity as AppCompatActivity?)!!.supportFragmentManager.beginTransaction().apply {
|
233
|
+
replace(R.id.nav_host_fragment_activity_main, NormalCalendarFragment())
|
234
|
+
addToBackStack(null)
|
235
|
+
commit()
|
236
|
+
}
|
237
|
+
}
|
238
|
+
}
|
239
|
+
|
240
|
+
override fun onDestroyView() {
|
241
|
+
super.onDestroyView()
|
242
|
+
_binding = null
|
243
|
+
}
|
244
|
+
}
|
245
|
+
|
246
|
+
class TabHomeOneFragment(context: Context): Fragment(){
|
247
|
+
override fun onCreateView(
|
248
|
+
inflater: LayoutInflater,
|
249
|
+
container: ViewGroup?,
|
250
|
+
savedInstanceState: Bundle?
|
251
|
+
): View? {
|
252
|
+
return inflater.inflate(R.layout.top_page_one_person_tab, container, false)
|
253
|
+
}
|
254
|
+
}
|
255
|
+
```
|
256
|
+
|
257
|
+
すると遷移後のフラグメントが無事に表示はされました。
|
258
|
+
しかしaddではなくreplaceでコミットやonDestroyViewメソッドを記述しているのですが、
|
259
|
+
遷移前のフラグメントが残っており、フラグメントが重なってしまっている状態になってしまいました。
|
260
|
+
|
261
|
+
何が原因なのか度々すみませんが、ご教示をお願いしたいです。
|