我想将数据从一个片段发送到另一个片段
I want to send data from fragment to fragment
我想使用参数将数据从片段发送到片段,如下所述。
这里是使用参数
发送到片段的按钮点击数据
//sender fragment
view.btnjavafragment.setOnClickListener {
newInstance("helllo")
}
companion object {
@JvmStatic
fun newInstance(mystring:String) = javaFragment().apply {
arguments = Bundle().apply {
putString("sentdata",mystring)
if(arguments!=null){
Toast.makeText(context,"data sent",Toast.LENGTH_SHORT).show()
}
}
}
}
//receiving fragment
override fun onAttach(context: Context?) {
super.onAttach(context)
arguments?.getString("sentdata","")?.let {
string = it
tvdatamessage.setText(string)
}
}
您好,请按照以下 link 了解您的解决方案。
https://www.journaldev.com/14207/android-passing-data-between-fragments
您还可以使用 Navigation Graph for Fragment Transaction 并直接将任何类型的数据打包发送,如下所示。
var nameBundle = Bundle()
nameBundle.putString("youKey", edtName.text.toString())
it.findNavController().navigate(R.id.tofragmentName, nameBundle)
不建议两个Fragment直接通信。在此处查看文档和示例。 https://developer.android.com/training/basics/fragments/communicating
我会推荐一个通用的 ViewModel 并观察那里的变化。
您可以使用 Jetpack 上导航组件的一部分的 SafeArgs。
Here Google.
制作的教程不错
我想使用参数将数据从片段发送到片段,如下所述。
这里是使用参数
发送到片段的按钮点击数据//sender fragment
view.btnjavafragment.setOnClickListener {
newInstance("helllo")
}
companion object {
@JvmStatic
fun newInstance(mystring:String) = javaFragment().apply {
arguments = Bundle().apply {
putString("sentdata",mystring)
if(arguments!=null){
Toast.makeText(context,"data sent",Toast.LENGTH_SHORT).show()
}
}
}
}
//receiving fragment
override fun onAttach(context: Context?) {
super.onAttach(context)
arguments?.getString("sentdata","")?.let {
string = it
tvdatamessage.setText(string)
}
}
您好,请按照以下 link 了解您的解决方案。
https://www.journaldev.com/14207/android-passing-data-between-fragments
您还可以使用 Navigation Graph for Fragment Transaction 并直接将任何类型的数据打包发送,如下所示。
var nameBundle = Bundle()
nameBundle.putString("youKey", edtName.text.toString())
it.findNavController().navigate(R.id.tofragmentName, nameBundle)
不建议两个Fragment直接通信。在此处查看文档和示例。 https://developer.android.com/training/basics/fragments/communicating
我会推荐一个通用的 ViewModel 并观察那里的变化。
您可以使用 Jetpack 上导航组件的一部分的 SafeArgs。 Here Google.
制作的教程不错