2017-07-28 124 views
0
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() 

我已經寫在片段1這些代碼和數據傳遞給它科特林與片段

在片段2我receving捆綁爲空誰能解決這個問題

var bundle : Bundle ? 
bundle = arguments 

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
    Toast.makeText(context,bundle.toString(),Toast.LENGTH_LONG).show() 
} 
+0

你在哪裏設置'bundle'爲fragment1以外的空值? – Michael

回答

3

的問題是,你不要初始化下面的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() 
+0

感謝它爲我工作........ –