首页 > 解决方案 > 使用 Kotlin 将值从 Activity 传递到 Fragment

问题描述

我试图将值(Name =String,Age=Integer,Mark=Long)从活动传递到片段,但是当我按下发送按钮时我的应用程序崩溃了。我提出了什么问题?

活动代码

 btnSend.setOnClickListener {
  val bundle = Bundle()
  bundle.putString("Name", edtName.text.toString())
  bundle.putInt("Age", edtAge.text.toString().toInt())
  bundle.putLong("Mark", edtMarks.text.toString().toLong())
  myFragment.arguments = bundle
  t.add(R.id.fram123, myFragment)
  t.commit()
 }

我的片段

class MyFragment : Fragment() {
    
    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val v = inflater.inflate(R.layout.fragment_my, container, false)
        
        val b3 = arguments
        val name = b3?.getString("Name").toString()
        val age = b3?.getInt("Age").toString()
        val mark = b3?.getLong("Mark").toString()
        tvName.text = name
        tvAge.text = age
        tvMark.text = mark
        return v
    }
}

标签: androidkotlinandroid-fragmentsparameter-passing

解决方案


推荐阅读