Kotlin与碎片

Dim*_*tel 1 android android-fragments kotlin

    var bundle : Bundle ? =null

    bundle?.putString("text",text)

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        frag = Fragment.instantiate(context,Fragment2::class.java.name) as Fragment2
    }

    frag?.arguments=bundle

    fragmentManager.beginTransaction().replace(R.id.contentPanel1,frag).commit()
Run Code Online (Sandbox Code Playgroud)

我已经在fragment1上编写了这些代码并将数据传递给它

在Fragment 2上,我正在接收该包,因为null可以解决它

var bundle : Bundle ?
bundle = arguments

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    Toast.makeText(context,bundle.toString(),Toast.LENGTH_LONG).show()
}
Run Code Online (Sandbox Code Playgroud)

KuL*_*Tel 5

问题是你没有初始化下面的bundle.look的var.

val bundle = Bundle()

bundle.putString("text",text)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    frag = Fragment.instantiate(context,Fragment2::class.java.name) as Fragment2
}

frag?.arguments=bundle

fragmentManager.beginTransaction().replace(R.id.contentPanel1,frag).commit()
Run Code Online (Sandbox Code Playgroud)