- [Android] 개발공부 50일차 TIL - Fragment->Activity 데이터전달2024년 01월 30일 09시 49분 46초에 업로드 된 글입니다.작성자: 짧은 코딩끈
일자 : 2024.01.30
📝TIL 정리
💡Fragment->Activity 데이터전달
Fragment에서 Activity로 데이터를 전달하고 싶었다
단순히 intent를 사용하여 할 수 있겠지만, 그렇게 되면 Activity 창을 띄우게 되어서
데이터'만' 전달하는 목적과는 다른 상황이었다.
아래 블로글을 참고하여 구현한 결과
데이터를 보내는 프래그먼트(예시)
setFragmentResult("requestKey", bundleOf("bundleKey" to result))
Constans.kt
object Constans { const val FAVORITE_DATA = "favorites" const val REQUEST_KEY = "requestKey" }
SearchFragment.kt
rvFragSearchlist.adapter = imageAdapter.apply { itemClick =object :ImageAdapter.ItemClick{ override fun onClick(view: View, position: Int) { setFragmentResult(Constans.REQUEST_KEY, bundleOf(Constans.FAVORITE_DATA to imageAdapter.searchResult[position])) }
데이터를 받는 액티비티(예시)
supportFragmentManager .setFragmentResultListener("requestKey", this) { requestKey, bundle -> val result = bundle.getString("bundleKey")
MainActivity.kt
val favoriteList = mutableListOf<Document>() supportFragmentManager.setFragmentResultListener(Constans.REQUEST_KEY,this@MainActivity) {requestKey,bundle -> val result = bundle.getParcelable<Document>(Constans.FAVORITE_DATA) result?.let { favoriteList.add(it) } Log.d("data", "favoriteList: $favoriteList ")
검색결과 서버로부터 받은 객체 데이터를 클릭했을 때
해당하는 포지션의 객체데이터를 액티비티로 보내고
액티비티에서 만든 list 변수에다가 담도록 하였다.
프래그먼트와 통신 | Android 개발자 | Android Developers
프래그먼트와 통신 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 프래그먼트를 재사용하려면 자체 레이아웃과 동작을 정의하는 완전히 독립된 구성요소
developer.android.com
[안드로이드] Fragment - Activity 데이터 전달
안드로이드 - Fragment와 Activity간의 데이터 전달(ViewModel, Fragment Result API)
velog.io
액티비티 <-> 프래그먼트 데이터 전달하기
액티비티에서 프래그먼트로, 또는 그 반대로 데이터를 주고 받을 수 있습니다. 액티비티에서 프래그먼트로 데이터를 전달할 때는 argument와 bundle을 이용합니다. 프래그먼트에서 액티비티로 데이
itknowledgeshare.tistory.com
금일 회고
상태:😐
회고:
병원을 다녀왔다.
목감기가 전혀 낫지 않고 기침도 심하고 이대로는 이도저도 아니게 될거 같아서 약 처방받았다
이미지검색과 내 보관함에 각각 리사이클러뷰가 필요한데,보여지는 모습이 거의비슷하다보니 어댑터 한개로 구현하면 되겠다는 막연한 생각을 가졌고 그렇게 해서실제로 구현까지는 했는데좋아요 이벤트 처리를 하려고 하니 과제의 영상과는 다르게 나와서 당황했다..조금 찜찜하던차에 튜터님께 여쭤보니.. 완벽히 동일한 형태의 리사이클러뷰가 나오는게 아니라면그에 맞는 어댑터를 만드는게 맞다고 하셨다..
부랴부랴 어댑터 하나 더 추가하고 즐겨찾기? 기능을 구현하고 있다..오늘까지 필수과제 모든것을 클리어하려고 했는데 벌써 시간이 20시40분...
10시전까지 구현할 수 있으면 좋겠다..ㅠ
'개발공부 > 일지' 카테고리의 다른 글
다음글이 없습니다.이전글이 없습니다.댓글