마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

프래그먼트간 데이터전달 번들이 null

0 추천
var bundle = Bundle()
bundle.putString("test", "1")
var oneFragment = OneFragment()
oneFragment.arguments = bundle

a라는 프래그먼트에서 이렇게 번들로 넘기고

var bundle = arguments

if(bundle!=null) {
    var test = bundle.getString("test")
    Log.e("tag", "뭐야 "+ test.toString())
}

onefragment에서 이렇게 받고있는데 번들이 null이 나옵니다 어디가 잘못된건가요..?

수원통학러 (3,570 포인트) 님이 2020년 11월 3일 질문

1개의 답변

+1 추천
질문이 앞에 다른 분하고 같네요.  몇가지 체크먼저 해보죠.

XML에 <fragment> 를 사용하는지와

번들을 체크하는 코드가 onCreate에 존재하시는지 체크해 보세요

둘다 맞다면, 번들에서 값을 읽어오는 시점이 setArgument를 한 시점보다 이전이라 그렇습니다. 프레그먼트는 시스템에 의해 자동 생성되고, 동시에 onCreate도 호출이 됩니다. 그런데 님이 setArgument한 것은 그 다음이기 때문에 당연히 null이 나와야 합니다.
spark (227,470 포인트) 님이 2020년 11월 3일 답변
...