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开始列表?