gpt4 book ai didi

android - 将自定义类传递给 Fragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:41 27 4
gpt4 key购买 nike

我有一个名为 Data 的自定义类,其中包含所有数据。主要 Activity 创建两个 fragment 。我在这样的主要 Activity 中有一个字段:

private Data data = new Data();

fragment 是用这种方法创建的:

private ArrayList<Fragment> getFragments() {
ArrayList<Fragment> fragments = new ArrayList<Fragment>();
fragments.add(new fragment_one());
fragments.add(new fragment_two());
return fragments;
}

我需要将数据字段传递给 fragment ,以便 fragment 可以访问数据的方法。

我尝试创建一个包,但无法传递自定义类。我能做什么?

最佳答案

Bundle 可以接受自定义类,如果它们实现了 ParcelableSerializableParcelable 速度更快,但实现和的工作量更大Serializable 更容易实现,但速度较慢。

然后你可以这样做:

Bundle bundle = new Bundle();
bundle.putSerializable("MyData", data);
fragment_one.setArguments(bundle);

现在 fragment_one 可以在它的 onCreate(Bundle bundleHoldingData) 方法中访问 data

另一种选择是在您的 fragment 中使用一个公共(public) setter 来接收数据。这样做的好处是您不必等到数据准备好就可以添加 fragment 。

关于android - 将自定义类传递给 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21093809/

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