Fragment 데이터 전달

오늘은 Fragment 데이터 전달을 이용해서 즐겨찾기 기능을 만들려고 했다.
그런데 개념을 알고는 있는데 전달하는 데이터가 리스트 형태인데, 좀 특이한(?) 리스트다 보니
헤매서 아직도 해결을 못했다...

그래서 아직도 의문이다...
그래도 일단 코드를 올려놓기는 해야겠다.

정리한 링크

// 여기서 어떻게 해야 할지...
// 이거를 내일 해결해야 한다... ㅋㅋㅋ
companion object {
    @JvmStatic
    fun newInstance(param1: List<ImageDocument?>) =
        ChoiceFragment().apply {
            arguments = Bundle().apply {
//                putSerializable(param1)
            }
        }
}

// MainActivity.kt에서 list를 받아오는데 이 데이터 리스트가 JSON으로 받아온 데이터 클래스에서 추출한(?) 리스트라서 ImageDocument? 타입이다.
// 아무튼 추출해 와서 Fragment 데이터 전달만 하면 된다.
val listData = searchFragmentAdapter.getLikedItems()
    fragment(listData)
}

// 분명 Activity -> Fragment 데이터 전달은 이게 맞는데...
private fun fragment(listData: List<ImageDocument?>) {
    val fragment = ChoiceFragment.newInstance(listData)
    supportFragmentManager.beginTransaction()
        .replace(R.id.view_pager, fragment)
        .setReorderingAllowed(true)
        .addToBackStack(null)
        .commit()
}

코틀린에서 날짜와 시간 형식을 바꾸는 간단한(?) 방법

공식 문서 링크 : 여기 사실 다 들어있다.

내가 정리한 링크

그래도 여기에 코드를 작게나마 적어야겠다.

val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")  // 어떤 형식으로 바꿀지 선택이 가능한 것 같다.
val dateTime = OffsetDateTime.parse(item?.datetime)
val dataTimeFormat = dateTime?.format(formatter)

// dateTime으로 받은 시간을 formatter에 주어진 형식으로 바꾼다는 뜻 같아 보인다.
// DateTimeFormatter <- 이게 진짜 유능하다.
profile
김성진의 개발 관련 내용 정리 블로그

0개의 댓글