Kotlin bundle로 데이터 찾기

조회수 2470회

안녕하세요 kotlin으로 앱을 하나 만들어 보고 있는데 recyclerview를 통해서 앱을 하나 만들고 있습니다.

제가 지금 recyclerview에 onclicklistener을 주어 아이템을 클릭시 새로운 activity로 이동하는 앱을 만들었는데, Bundle을 통해서 데이터 값을 가져왔습니다. 그런데 bundle을 통해 가져온 특정 아이템을 쓰고 싶은데 혹시 어떻게 쓰는지 아시는분 알려주시면 감사하겠습니다.

public class ViewHolder(itemView: View, val itemClick: (Item) -> Unit)
    : RecyclerView.ViewHolder(itemView){

    val album = itemView.item_album
    val artist = itemView.item_content


   fun bind(item: Item, context: Context){

        album.setImageResource(item.album)
        artist.setText(item.artist)
       itemView.setOnClickListener{
           itemClick(item)
           var bundle = Bundle()
           bundle.putSerializable("songData", item)
           var intent = Intent(context, MusicFirstActivity::class.java)
           intent.putExtra("bundle",bundle)
           context.startActivity(intent)
           Log.d("", "아이템 클릭: " + intent.toString() + bundle.toString())

       }
       //itemview가 클릭 됐을 때 처리하는 일을 itemClick으로 설정한다.

        Log.d("", "홀더 결과: " + itemClick.toString())

    }


}
먼저, recyclerview에 holder부분 입니다. 홀더 부분에서 클릭 이벤트를 주는 동시에 bundle로 데이터 값을 가져왔습니다.




    var intent = intent
    var data = intent.getBundleExtra("bundle")
    Log.d("from Recycle: ", "받은 데이터: " + data.toString())

    var fragment = FirstFragment()
    var bundle = Bundle()
    bundle.putBundle("data", data)
    fragment.arguments = bundle
    Log.d("", "activity send: " + data.toString() + bundle.toString())
    FirstFragment.newInstance(data, data)

    val adapter = FirstPageAdapter(supportFragmentManager)
    view_pager_pictures.adapter = adapter

그리고 클릭시 받는 activity 부분 입니다.

fun newInstance(param1: Bundle, param2: Bundle): FirstFragment { val fragment = FirstFragment() val args = Bundle() args.putBundle("data", param1) args.putBundle("data", param2) fragment.arguments = args Log.d("from Activity: ", "result" + param1 + param2) return fragment }

그리고 이렇게 새로운 fragment로 newinstance를 통해 데이터를 받아 왔는데 제가 bundle로 받은 image파일을 사용하고 싶은데 어떻게 사용하는지가 궁금합니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)