gpt4 book ai didi

android - 从其他类使用时,lateinit 属性绑定(bind)尚未初始化

转载 作者:行者123 更新时间:2023-12-05 00:18:19 48 4
gpt4 key购买 nike

MainActivity我使用这个 fragment 的类:

lateinit var binding: ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
我正在尝试从其他类访问 textView 像这样 MainActivity().binding.textView.text但我得到 lateinit property binding has not been initialized这条线上的错误?任何人都知道如何解决它?

最佳答案

当你调用 MainActivity() 时,你实际上是在创建 MainActivity 的一个新实例,但它没有绑定(bind)到任何生命周期(因此没有调用 onCreate(),因此不会膨胀你的布局)。
如果您尝试从 fragment 访问 Activity ,请调用:

(requireActivity() as MainActivity).binding.textView.text

编辑:请注意,如果您的 fragment 由与 MainActivity 不同的 Activity 托管,则此方法将引发错误

关于android - 从其他类使用时,lateinit 属性绑定(bind)尚未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68578708/

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