본문 바로가기

Android65

[Android/Kotlin] Fragment간 데이터통신(데이터전달) Fragment간 데이터 전달하는 방법에 대한 기본적인 개념과 간단한 예제는 아래 블로그에다가 정리를 해뒀었다https://coding-juuwon2.tistory.com/256 [Android] Fragment간 데이터통신 방식1. FragmentManager에 Bundle로 Data를 담아 전달 //PassBundleFragment는 본인이 전달하고자 하는 Fragment class val bundle = Bundle() bundle.putString("key", "value") val passBundleBFragment = PassBundleBFragment() passBundleBFragment.argumencoding-juuwon2.tistory.com 이번에는 예제를 통해 직접 코드를 짜보.. 2024. 4. 12.
[Android / Kotlin] Recyclerview에 구분선 표시 리사이클러뷰에 구분선을 표시하고싶다면 아래와같이 DividerItemDecoration을 사용해서 작성해주면된다// 리사이클러뷰 구분선 표시with(binding.RecyclerView){ val decoration = DividerItemDecoration( context, LinearLayoutManager(this@MainActivity).orientation ) addItemDecoration(decoration)} 리사이클러뷰 아이템마다 구분선이 잘 표시되고 마지막 아이템에는 구분선이 표시가 안되는것을 확인할 수 있다 # 참고자료https://odomm.tistory.com/entry/Kotlin-%EC%95%88%EB%93%9C%EB%A.. 2024. 4. 11.
[Android/Kotlin] 어댑터 콜백을 위한 Lambda 함수 전달 # 어댑터 클릭리스너를 람다로 표현하기 어댑터에서 파라미터에 private val onClick : (Flower) -> Unit 이렇게 작성해준다Unit은 반환 유형을 지정하지 않는 경우 기본적으로 Unit이 되고, 코틀린에서 값을 반환하지 않음을 의미한다 그리고 viewHolder에서 init을 사용해서 아이템 클릭리스너를 설정해준다[invoke는 마치 함수인 것처럼 호출할 수 있도록 한다. (Flower) -> Unit를 호출하는 데 사용된다]// 클릭 이벤트(onClick)class FlowersAdapter(var flowerList : List, private val onClick : (Flower) -> Unit) : RecyclerView.Adapter() { // 화면(레이아웃.. 2024. 4. 10.
[Android/Kotlin] Activity, Fragment간 데이터 주고받기 일단 아래와같이 MainActivity에 버튼 두개를 만들고, Frag1버튼을 누르면 FirstFragment로 이동, Frag2버튼 누르면 SecondFragment로 이동하도록 코드는 미리 짜놨고 여기서는 데이터를 전송하고 받는 부분만 작성해볼것이다 # Activity -> Fragment 데이터 전달 newInsatance함수를 따로 만들어서 하는방법과그냥 Bundle을 사용하여 데이터를 전달하는 방법 2가지를 사용해서 해볼것이다 기본적으로 저 버튼들이 MainActivtiy에 있는 버튼들이므로, 저 버튼을 클릭했을때 Fragment로 값을 전달하고, Fragment에서는 값을 받아와서 text로 뿌려주는 작업을 해볼것이다 1) newInsatance함수를 따로 만들어서 하는방법 # Activit.. 2024. 4. 10.
[Android/Kotlin] 세로/가로 모드 ui 분리 구현 # 가로모드 레이아웃 생성하기layout -> New -> Layout Resource File -> File name은 세로모드 이름과 똑같이 써주기 -> orientation -> landscape 이렇게 가로모드 생성해준뒤, 세로모드 레이아웃을 복붙해주고 가로모드에서 이상한 레이아웃들만 수정해주면 쉽게 끝난다! # 트러블 슈팅가로모드로 전환하니깐 갑자기 앱이 종료되는 현상이 발생했다찾아보니깐 엑티비티가 회전될때(가로->세로 / 세로->가로 전환시) onDestory되었다가 onCreate되어서 매번 새로운 UI가 그려지기 때문에, 이때 화면이 재생성되면서 앱이 강제종료 될수있는 문제가 발생한다고 한다따라서 AndroidManifest에가서 모든 엑티비티마다android:configChang.. 2024. 4. 7.
[Android] Fragment간 데이터통신 방식 1. FragmentManager에 Bundle로 Data를 담아 전달//PassBundleFragment는 본인이 전달하고자 하는 Fragment class val bundle = Bundle() bundle.putString("key", "value") val passBundleBFragment = PassBundleBFragment()passBundleBFragment.arguments = bundle parentFragmentManager.beginTransaction() .replace(R.id.fragment_container_bundle, PassBundleFragment()) .commit()-> 데이터를 전송하려는 Fragement에서 작성 override fun onCreateView(.. 2024. 3. 29.