티스토리 뷰
반응형
- fragment 적용
탭(tab)형식 UI를 사용하려하는데 fragment가 가장 적합해서 적용해봤다
fragment 2개 먼저 생성 후
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.activity_fragment_trmain1.*
class fragment1 : Fragment() {
override fun onAttach(context: Context?) {
super.onAttach(context)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
return inflater!!.inflate(R.layout.activity_fragment_trmain1, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
}
override fun onStart() {
super.onStart()
}
override fun onResume() {
super.onResume()
}
override fun onPause() {
super.onPause()
}
override fun onStop() {
super.onStop()
}
override fun onDestroyView() {
super.onDestroyView()
}
override fun onDestroy() {
super.onDestroy()
}
override fun onDetach() {
super.onDetach()
}
}
탭을 띄울 액티비티에 추가
class TravelMainpage : AppCompatActivity() {
val manager = supportFragmentManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_travel_mainpage)
// 먼저 첫 탭 보여주기 (default)
ShowTabOne()
// 버튼1 클릭 시 탭1 내용 띄우기
tab1_btn_trmain.setOnClickListener {
ShowTabOne()
}
// 버튼2 클릭 시 탭2 내용 띄우기
tab2_btn_trmain.setOnClickListener {
ShowTabTwo()
}
}
// 함수 작성
fun ShowTabOne(){
val transaction = manager.beginTransaction()
val fragment = fragment1()
transaction.replace(R.id.fragment_holder, fragment)
transaction.addToBackStack(null)
transaction.commit()
}
fun ShowTabTwo(){
val transaction = manager.beginTransaction()
val fragment = fragment2()
transaction.replace(R.id.fragment_holder, fragment)
transaction.addToBackStack(null)
transaction.commit()
}
}
++++ 추가 (2020.07.16)
소소한 에러가 생겨서 약간 방법을 바꿔줬다.
새로운 포스팅 참고
- 화면 전환
fragment는 context 타입이 아니기 때문에 평소에 액티비티에서 액티비티로 이동할때 쓰던 방식을 사용할 수 없다
activity - activity 화면 전환 방식
thistravel_btn_trmain.setOnClickListener {
val intent = Intent(this, This1Test::class.java)
startActivity(intent)
}
fragment - activity 화면 전환 방식
thistravel_btn_trmain.setOnClickListener {
activity?.let{
val intent = Intent(context, This1Test::class.java)
startActivity(intent)
}
}
onActivityCreated에 추가해주면 된다
참고한 영상
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- kotlin fragment
- 안드로이드 키해시
- Kotlin
- flutter simultor
- 백준 2003
- 백준 1644
- 카카오 기출
- 전화번호목록 파이썬
- 코틀린 뷰페이저
- 코틀린 리스트뷰
- 카카오 키해시
- 코틀린 뷰바인딩
- 코틀린
- 코틀린 바텀네비게이션
- 안드로이드
- 시뮬레이터 키보드
- 소수 구하기 파이썬
- TextFormField keyboard
- 데이터바인딩 뷰바인딩 차이
- counting sort
- 안드로이드 카카오톡으로 로그인
- 투포인터 알고리즘 파이썬
- 백준 1806
- 백준알고리즘
- 투포인터 알고리즘
- 파이썬 최대공약수
- 프로그래머스
- 코틀린 데이터바인딩
- 카카오톡으로 로그인 오류
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함