質問編集履歴

1

エラー解決で進展があり、その解決をお願いしたいため

2021/01/28 04:19

投稿

j.f15
j.f15

スコア23

test CHANGED
File without changes
test CHANGED
@@ -8,6 +8,10 @@
8
8
 
9
9
 
10
10
 
11
+ ※エラー解決で進行があったため下部の方で進行内容を追記しました。
12
+
13
+
14
+
11
15
  ### 発生している問題・エラーメッセージ
12
16
 
13
17
 
@@ -373,3 +377,145 @@
373
377
  他に確認したいファイル等ありましたら教えてください。
374
378
 
375
379
  少しでもわかる方がいましたらご教示お願いしたいです。
380
+
381
+
382
+
383
+ ~~~~~~~~~~~~~~~~~
384
+
385
+ 色々と調べ少し進行できたので追記
386
+
387
+ HomeFragmentでbindingを用いていたので子のフラグメント?もbinding形式で実装が必要かと考え編集しました。
388
+
389
+
390
+
391
+ ・TabtopPageFragmentファイル
392
+
393
+ ```
394
+
395
+ import android.content.Context
396
+
397
+ import android.os.Bundle
398
+
399
+ import android.view.LayoutInflater
400
+
401
+ import android.view.View
402
+
403
+ import android.view.ViewGroup
404
+
405
+ import androidx.appcompat.app.AppCompatActivity
406
+
407
+ import androidx.fragment.app.Fragment
408
+
409
+ import microwave.net.pgm.golfcoursereservationapp.NormalCalendarFragment
410
+
411
+ import microwave.net.pgm.golfcoursereservationapp.R
412
+
413
+ import microwave.net.pgm.golfcoursereservationapp.databinding.TopPageNormalTabBinding
414
+
415
+
416
+
417
+
418
+
419
+ class TabHomeNormalFragment(context: Context): Fragment(){
420
+
421
+
422
+
423
+ // private var _viewTabItem : View? = null
424
+
425
+ private var _binding: TopPageNormalTabBinding? = null
426
+
427
+ private val binding get() = _binding!!
428
+
429
+
430
+
431
+ override fun onCreateView(
432
+
433
+ inflater: LayoutInflater,
434
+
435
+ container: ViewGroup?,
436
+
437
+ savedInstanceState: Bundle?
438
+
439
+ ): View? {
440
+
441
+ // _viewTabItem = inflater.inflate(R.layout.top_page_normal_tab, container, false)
442
+
443
+ _binding = TopPageNormalTabBinding.inflate(inflater, container, false)
444
+
445
+ //Viewに対する処理
446
+
447
+ return binding.root
448
+
449
+ // return _viewTabItem
450
+
451
+ }
452
+
453
+
454
+
455
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
456
+
457
+ super.onViewCreated(view, savedInstanceState)
458
+
459
+
460
+
461
+ binding.dayBtn.setOnClickListener {
462
+
463
+ (activity as AppCompatActivity?)!!.supportFragmentManager.beginTransaction().apply {
464
+
465
+ replace(R.id.nav_host_fragment_activity_main, NormalCalendarFragment())
466
+
467
+ addToBackStack(null)
468
+
469
+ commit()
470
+
471
+ }
472
+
473
+ }
474
+
475
+ }
476
+
477
+
478
+
479
+ override fun onDestroyView() {
480
+
481
+ super.onDestroyView()
482
+
483
+ _binding = null
484
+
485
+ }
486
+
487
+ }
488
+
489
+
490
+
491
+ class TabHomeOneFragment(context: Context): Fragment(){
492
+
493
+ override fun onCreateView(
494
+
495
+ inflater: LayoutInflater,
496
+
497
+ container: ViewGroup?,
498
+
499
+ savedInstanceState: Bundle?
500
+
501
+ ): View? {
502
+
503
+ return inflater.inflate(R.layout.top_page_one_person_tab, container, false)
504
+
505
+ }
506
+
507
+ }
508
+
509
+ ```
510
+
511
+
512
+
513
+ すると遷移後のフラグメントが無事に表示はされました。
514
+
515
+ しかしaddではなくreplaceでコミットやonDestroyViewメソッドを記述しているのですが、
516
+
517
+ 遷移前のフラグメントが残っており、フラグメントが重なってしまっている状態になってしまいました。
518
+
519
+
520
+
521
+ 何が原因なのか度々すみませんが、ご教示をお願いしたいです。