gpt4 book ai didi

android - 从 Activity 中设置 fragment 的参数

转载 作者:IT老高 更新时间:2023-10-28 22:24:51 32 4
gpt4 key购买 nike

我想将参数从我的 Activity 传递到嵌入到 Activity 中的 fragment 。 fragment 静态嵌入在 xml 布局中。我尝试这样调用 setArgument():

setContentView(R.layout.detail_activity);
DetailFragment detailFragment = (DetailFragment) getFragmentManager().findFragmentById(R.id.detailFragment);
detailFragment.setArguments(getIntent().getExtras());

但是已经太晚了,因为 setArguments 必须在 fragment 创建后立即调用。我唯一看到的是 getArguments() 并更改了 bundle 。有更好的方法吗?

最佳答案

AFAIK,当您将 fragment 嵌入 XML 时,您不能像那样使用 setArguments() 。如果它很关键,你最好动态添加 fragment 。但是,如果您真的希望通过 XML 嵌入 fragment ,则可以通过不同的方式传递该数据。

  1. 让 Activity 实现 fragment 的事件监听器。然后让 fragment 在创建时或需要时从 Activity 请求所需的参数。 Communication with Fragment
  2. 创建可与 fragment 一起嵌入到 xml 中的自定义属性。然后在 fragment 的膨胀过程中,解析自定义属性以获取它们的数据。 Custom fragment attributes
  3. 在 fragment 中创建公共(public) setter 并让 Activity 直接使用它们。如果在 fragment 的 onCreate() 方法之前设置它们很重要,那么从 Activity 的 onAttachFragment() 方法进行设置。

关于android - 从 Activity 中设置 fragment 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18124150/

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