본문 바로가기

Android (Kotlin)30

Fragment + 데이터 전달 xml FirstFragment.kt 동적으로 프래그먼트 추가하기 supportFragmentManager.commit { replace(R.id.frameLayout, frag) setReorderingAllowed(true) addToBackStack("") } supportFragmentManager 사용자 상호작용에 응답해 Fragment를 추가하거나 삭제하는등 작업을 할 수 있게 해주는 매니저 replace 어느프레임 레이아웃에 띄울것이냐, 어떤프래그먼트냐 setReorderingAllowed 애니메이션과 전환이 올바르게 작동하도록 트랜잭션과 관련된 프래그먼트의 상태 변경을 최적화 addToBackStack 뒤로가기 버튼 클릭시 다음 액션 (이전 fragment로 가거나 앱이 종료되거나) 2024. 1. 9.
Recycler View 사용방법 xml: recyclerview.xml 재사용 되는 화면 정의 AdapterClass.kt class MyAdapter(val mItems: MutableList) : RecyclerView.Adapter() { interface ItemClick { fun onClick(view : View, position : Int) } var itemClick : ItemClick? = null override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder { val binding = ItemRecyclerviewBinding.inflate(LayoutInflater.from(parent.context), parent, false) return.. 2024. 1. 9.
CheckDebugDuplicateClasses Error 에러가 뜨는 dependency 파일이 중복되어 implementation에 들어가있는 지 확인하기 최신 버전으로 되어 있으면 이 에러가 나기도 한당. 나는 버전 고쳐서 고쳐졌다. 2024. 1. 5.
ViewBinding findViewById 대체 가능한 기능이다. 코드 작성을 훨씬 편리하게 만들어주고 뷰와의 상호작용을 쉽게 만들어준다. step 1. build.gradle 파일에 아래 코드 추가 android { ... buildFeatures { viewBinding = true } } 몇몇의 레이아웃 파일을 바인딩하고 싶지 않을 떄에는 아래 코드를 레이아웃 파일에 추가해주면 된다. ... 액티비티 레이아웃 페이지 이름이 activity_sign_in.xml 이라면 이 이름을 Pascal Case로 바꾼 ActivitySignInBinding클래스를 만든다. 클래스에서 코드를 아래와 같이 적어준다. private lateinit var binding: ResultProfileBinding override fun on.. 2024. 1. 4.