gpt4 book ai didi

android - 如何从 fragment 和 Activity 中传递和获取值(value)

转载 作者:IT老高 更新时间:2023-10-28 13:30:03 26 4
gpt4 key购买 nike

如何从 fragment 和 Activity 中传递和获取值(value)?

最佳答案

这是 Android Studio 提出的解决方案(= 当您使用 File -> New -> Fragment -> Fragment(Blank) 创建一个空白 fragment 并选中“包含 fragment 工厂方法”时)。

把它放在你的 fragment 中:

class MyFragment: Fragment {

...

companion object {

@JvmStatic
fun newInstance(isMyBoolean: Boolean) = MyFragment().apply {
arguments = Bundle().apply {
putBoolean("REPLACE WITH A STRING CONSTANT", isMyBoolean)
}
}
}
}

.apply 是一个很好的技巧,可以在创建对象时设置数据,或者设置为 they state here :

Calls the specified function [block] with this value as its receiver and returns this value.

然后在您的 Activity 或 Fragment 中执行:

val fragment = MyFragment.newInstance(false)
... // transaction stuff happening here

并阅读 fragment 中的参数,例如:

private var isMyBoolean = false

override fun onAttach(context: Context?) {
super.onAttach(context)
arguments?.getBoolean("REPLACE WITH A STRING CONSTANT")?.let {
isMyBoolean = it
}
}

享受 Kotlin 的魔力!

关于android - 如何从 fragment 和 Activity 中传递和获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46551228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com