原文

在这里插入图片描述
在这里插入图片描述
从 Android API 级别 28(Android 9.0) 开始,onActivityCreated() 被标记为 deprecated。Google 给出的理由是:这个方法的职责和 onViewCreated()、onCreate() 重叠,语义不清晰。同时,现代 Android 开发中使用 ViewModel + LiveData + ViewBinding 已经不再需要它。换句话说:
原本放在 onActivityCreated() 的UI逻辑可以放在 onViewCreated();非UI的初始化逻辑可以放在 onCreate()。

替代方案

  1. 使用 onViewCreated() 初始化视图逻辑如果你原先在 onActivityCreated() 中操作视图、设置监听器或加载数据,现在应该放在 onViewCreated():
class ExampleFragment : Fragment(R.layout.fragment_example) {

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        // 初始化UI
        val button = view.findViewById<Button>(R.id.button)
        button.setOnClickListener {
            // 点击事件逻辑
        }
    }
}

  1. 使用 onCreate() 做非UI初始化,如果是初始化 ViewModel、网络请求管理器等非UI组件,则推荐写在 onCreate():
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    viewModel = ViewModelProvider(this).get(ExampleViewModel::class.java)
}

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐