fix(character-detail): 탭 전환 시 프래그먼트 캐싱하여 재로딩 방지 CharacterDetailFragment에 newInstance(characterId) 도입 및 ARG 전달 구조 추가. Fragment에서 잘못된 intent 참조 제거하고 arguments → activity.intent 순으로 안전하게 조회. Activity 초기 진입 시 상세 탭 로딩 경로 정리 및 characterId 유효성 검사 시 종료 처리 보강. replace 기반 교체를 add/show/hide 구조로 전환. TAG_DETAIL/TAG_GALLERY로 인스턴스를 식별하여 FragmentManager 복원/재사용. 탭 이동 시 기존 인스턴스 표시만 수행하여 onViewCreated 재호출/네트워크 재요청 방지.
44 lines
1.8 KiB
XML
44 lines
1.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:background="@color/color_131313">
|
|
|
|
<!-- 상단 툴바 -->
|
|
<include
|
|
android:id="@+id/detail_toolbar"
|
|
layout="@layout/detail_toolbar"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent" />
|
|
|
|
<com.google.android.material.tabs.TabLayout
|
|
android:id="@+id/tab_layout"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:background="@color/color_131313"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@+id/detail_toolbar"
|
|
app:tabIndicatorColor="@color/color_3bb9f1"
|
|
app:tabIndicatorFullWidth="true"
|
|
app:tabIndicatorHeight="4dp"
|
|
app:tabSelectedTextColor="@color/color_3bb9f1"
|
|
app:tabTextAppearance="@style/tabText"
|
|
app:tabTextColor="@color/color_b0bec5" />
|
|
|
|
<!-- 갤러리 탭 컨테이너 -->
|
|
<FrameLayout
|
|
android:id="@+id/fl_container"
|
|
android:layout_width="0dp"
|
|
android:layout_height="0dp"
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@+id/tab_layout" />
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|