Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将数据从活动发送回已在运行的活动_Android_Android Intent_Android Activity - Fatal编程技术网

Android 将数据从活动发送回已在运行的活动

Android 将数据从活动发送回已在运行的活动,android,android-intent,android-activity,Android,Android Intent,Android Activity,我有一个活动详细信息,它通过意图启动一个新的活动列表 在列表中我做一些事情,然后我需要将一些数据传回详细信息 从列表回调之前,堆栈应包含详细信息(暂停)和列表(运行) 我需要传回的数据是一个ArrayList,其中MyObject实现Parcelable(及其所有需要的方法),因此我可以使用 intent.putParcelableArrayListExtra("myList", myListOfParcelableObjects); 通过意图发送数据 现在问题出在被调用的活动上,Detail

我有一个活动
详细信息
,它通过
意图
启动一个新的活动
列表

列表中
我做一些事情,然后我需要将一些数据传回
详细信息

列表
回调之前,堆栈应包含
详细信息
(暂停)和
列表
(运行)

我需要传回的数据是一个
ArrayList
,其中
MyObject
实现
Parcelable
(及其所有需要的方法),因此我可以使用

intent.putParcelableArrayListExtra("myList", myListOfParcelableObjects);
通过意图发送数据

现在问题出在被调用的活动上,
Detail

我试图通过
onNewIntent(intent-intent)
onResume(…)
方法捕获新的意图,但是第一个(即使使用
setIntent(intent)
)和第二个(即使使用
setIntent)
方法也无法获取从
列表发送的新意图以及意图中包含的数据


我如何才能在
详细信息
中获得新的意图,管理新数据并像调用
列表
之前那样“恢复”
详细信息

创建一个单例管理器,将数据保存在那里,并在需要时使用数据

public class DataManager {

    private static DataManager instance = new DataManager();

    private int mData;
    private DataManager() {}

    public static DataManager getInstance() {
       return instance;
    }


    public void setData(int number) {
         mData = number;
     }
   public int getData() {
       return mData;
    }



}
活动A

DataManager manager = DataManager.getInstance();
manager.setData(1);
活动B

DataManaget manager = DataManager.getInstance();
int data = manager.getData();
这是一个例子。
希望有帮助。

您可以使用Singleton类来存储公共数据。希望能有所帮助。

您是否使用startActivityForResult开始列表?