gpt4 book ai didi

android - 像 fragment 一样在 Activity 之间发送数据

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

我有一个自定义列表类型的数据(finalHolder.data)

早些时候我不得不将这些数据发送到一个 fragment 构造函数,它工作正常

  Fragment fragment;
fragment = new RouteMap(finalHolder.data);
((Activity)getContext()).getFragmentManager().beginTransaction().replace(R.id.content_frame,fragment).commit();

fragment 构造函数代码

public RouteMap() {
// Required empty public constructor
}

public RouteMap(MyListEntity data) {
this.data = data;
}

Activity 构造函数:

 public Map() {

}

public Map(MyListEntity data) {
this.data = data;
}

但现在我希望相同的数据到达 Activity (Map2)

我尝试了 putExtra 的 Intent 但 Intent 但它不起作用

简而言之,我希望在调用“finalHolder.data”时将其发送到 Activity 构造函数。

如果不可能,请提出解决方案谢谢

最佳答案

不推荐使用Activity构造函数。要将数据对象发送到 Activity ,您可以将 Intent extras 与 Parcelable 一起使用。为此,您需要执行以下操作。

  1. 从 Parcelable 实现您的数据类

    例如:MyListEntity 实现 Parcelable

  2. 在您的数据类 (MyListEntity) 中覆盖以下方法 writeToParcel()、readFromParcel()

3.在你的数据类(MyListEntity)中实现CREATOR类

Parcelable 示例的引用链接: passing object to activity

  1. 使用如下所述的 Intent 发送数据对象
Intent i = new Intent(this,Activity(Map2).class);

i.putExtra("mylistdata",finalHolder.data);

startActivity(i);
  1. 最后在您的 Activity(Map2) onCreate() 方法中获取相同的数据,如下所述
MyListEntity listEntry = getIntent().getParcelableExtra("mylistdata");

现在您的对象已在您的第二个 Activity 中准备就绪。 希望这对您有所帮助。

关于android - 像 fragment 一样在 Activity 之间发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352590/

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