gpt4 book ai didi

android - 2种设置 fragment 参数的方法有什么区别

转载 作者:行者123 更新时间:2023-11-29 19:35:29 25 4
gpt4 key购买 nike

我想将一个数据对象传递给Fragment,这里有两种方法:

public class MyFragment extends Fragment {

private Serializable way1;

private Serializable way2;

public void setDataWay1(Serializable way1) {
this.way1 = way1;
}

public void setDataWay2(Serializable way2) {
Bundle data = new Bundle();
data.putSerializable("data", way2);
setArguments(data);
}
}

那么,这两种方式有什么区别呢?有时,way1 可能会导致NullPointerException,为什么?如果我想将 OnClickListener 传递给 Fragment,我应该怎么做?

最佳答案

虽然这两种方法都可以为您的 fragment 设置适当的数据以进行首次初始化。请注意, fragment 将由系统重新创建和销毁(例如在屏幕旋转时)。当发生这种情况时,系统将不会真正调用 setter 方法(方法 1),因此,这将是一个巨大的失败。因此,推荐使用setArguments()方式。

关于android - 2种设置 fragment 参数的方法有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39248462/

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