gpt4 book ai didi

java - 如何跨不同Android Fragment维护一个模型对象?

转载 作者:行者123 更新时间:2023-12-01 09:35:35 25 4
gpt4 key购买 nike

有什么好的方法来维护在我的 fragment 中通用的 java 对象吗?场景定义如下:

一个包含所有 fragment 的通用 Activity MainActivity:

1] 主 fragment (容器 fragment ),2] 两个 fragment AB 位于 Master Fragment 下半部分的 View 寻呼机中,

所有这些安排都是为了获取用户个人资料详细信息,

Fragment A 获取一些基本信息,如姓名、年龄、出生日期、性别等。然后 Fragment B 获取有关联系人的信息,如手机、电子邮件、地址等。

主 fragment 具有模型类UserInfo.java的主要对象,我在Master Fragment中创建了userInfo的新对象、Fragment AB 具有实际的 EditBoxes,它将把值写入此 userInfo 对象。那么我可以维护一个具有实时状态的公共(public)对象吗(即任何编辑框中的更新都应该反射(reflect)到 userInfo 对象的相应字段中)。我想在三个 fragment 中维护这个公共(public)对象 userInfo ,即 MasterFragment、AB ?我该怎么做(没有静态字段)?

最佳答案

您可以在 MainActivity 实例中创建一个通用的 UserInfo 实例,并通过 Fragment.getActivity() 提供对所有 Fragment 的访问。

public class MainActivity extends Activity {

private UserInfo userInfo;

public getCommonUserInfo() {
if (userInfo == null) {
userInfo = new UserInfo();
}
return userInfo;
}

}

然后从任何 fragment :

((MainActivity) this.getActivity()).getCommonUserInfo();

关于java - 如何跨不同Android Fragment维护一个模型对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974511/

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