티스토리 뷰
반응형
옛날에 프래그먼트를 교체하는 방법으로 탭 구조를 구현하는 포스팅을 했었는데
두번째 탭을 누른 후, 물리 뒤로가기키를 누르면 탭과 하단 프래그먼트 짝이 맞지 않는다는점,
첫번째 탭에서 물리 뒤로가기를 누를 경우 하단 프래그먼트가 공백으로 비워진다는 문제가 생겨서 새로운 방법을 찾아봤다.
먼저 프래그먼트를 담을 메인액티비티 맨 위에 lateinit으로 선언해준다.
여기서 fragment1과 fragment2는 프래그먼트 파일(클래스)의 이름이다.
class TravelMainpage : AppCompatActivity() {
lateinit var trmain1: fragment1
lateinit var trmain2: fragment2
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_travel_mainpage)
...
그 후, 이전 포스팅에서 만들어둔거에서 탭 구조는 바꾸지 않았고
각각의 탭을 클릭할 경우(setOnClickListener을 달아줘서) 호출되는 함수만 변경해줬다.
// set default to tab1
ShowTabOne()
// switch to tab1
tab1_layout_trmain.setOnClickListener {
ShowTabOne()
}
// switch to tab2
tab2_layout_trmain.setOnClickListener {
ShowTabTwo()
}
교체함수 코드
fun ShowTabOne(){
frag1_imageview_trmain.setImageDrawable(getDrawable(R.drawable.frag1_selected))
frag2_imageview_trmain.setImageDrawable(getDrawable(R.drawable.frag2))
trmain1 = fragment1()
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_holder, trmain1)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.commit()
}
fun ShowTabTwo(){
frag1_imageview_trmain.setImageDrawable(getDrawable(R.drawable.frag1))
frag2_imageview_trmain.setImageDrawable(getDrawable(R.drawable.frag2_selected))
trmain2 = fragment2()
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_holder, trmain2)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.commit()
}
이제 문제 없이 잘 작동한다!
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- TextFormField keyboard
- 코틀린
- 백준 2003
- 프로그래머스
- 데이터바인딩 뷰바인딩 차이
- 소수 구하기 파이썬
- 전화번호목록 파이썬
- 코틀린 뷰바인딩
- 안드로이드 키해시
- 코틀린 데이터바인딩
- 카카오 키해시
- 안드로이드
- 코틀린 리스트뷰
- 코틀린 뷰페이저
- 시뮬레이터 키보드
- 파이썬 최대공약수
- 카카오톡으로 로그인 오류
- 투포인터 알고리즘 파이썬
- kotlin fragment
- 백준
- 백준알고리즘
- 투포인터 알고리즘
- 코틀린 바텀네비게이션
- counting sort
- 안드로이드 카카오톡으로 로그인
- flutter simultor
- Kotlin
- 백준 1806
- 백준 1644
- 카카오 기출
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함