为了账号安全,请及时绑定邮箱和手机立即绑定

在 setArguments 之后调用 onCreateView 时?

在 setArguments 之后调用 onCreateView 时?

海绵宝宝撒 2022-12-21 16:32:14
有一个问题。所以在我的适配器类中,我执行下面的代码。DrinkFragment fragment3 = new DrinkFragment();Bundle bundle3 = new Bundle(); bundle3.putInt("type",2); fragment3.setArguments(bundle3);return fragment3;所以我做了一个 DrinkFragment 的实例。要在 onCreateView(~~~) 的 DrinkFragment.java 中执行 getArguments(),必须在fragment3.setArgument(bundle3)之后执行 onCreateView(~~~)对吗?所以我不认为 onCreateView(~~) 在我创建 DrinkFragment 实例的那一刻被执行。那么什么时候执行呢?提前致谢。;)
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

抱歉,如果我的代码不是用 Java 编写的,但我在 kotlin 中传递参数时所做的是让 oncreateview 先返回视图,然后调用 onviewcreated 函数,以便在创建视图后执行。这是 Kotlin 中的代码:


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

                    val menufragment: Fragment = YourFragment()

                    val args = Bundle()

                    args.putString("str1", text) //text and text1 are strings

                    args.putString("str2", text1)

                menufragment.arguments = args

                    val fr = fragmentManager?.beginTransaction()

                    fr?.replace(R.id.content_frame, menufragment)

                    fr?.addToBackStack(null)

                    fr?.commit()

}


查看完整回答
反对 回复 2022-12-21
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信