我有一个活动Detail
,可以通过List
开始新活动Intent
。
在List
我做的事情然后我需要将一些数据传回Detail
。
在从List
回电之前,堆栈应包含Detail
(暂停时)和List
(正在运行)。
我需要传回的数据是ArrayList<MyObject>
,其中MyObject
实现Parcelable
(以及所有需要的方法),所以我可以使用
intent.putParcelableArrayListExtra("myList", myListOfParcelableObjects);
通过Intent发送数据。
现在问题出现在被叫活动Detail
上。
我试图通过onNewIntent(Intent intent)
和onResume(..)
方法捕获新意图,但第一个(甚至使用setIntent(intent)
)和第二个没有获得从List
和意图中包含的数据。
如何在Detail
中获取新意图,管理新数据并在调用Detail
之前“恢复”List
?
答案 0 :(得分:1)
创建一个Singleton Manager将数据保存在那里,并在需要时使用数据。
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();
这是一个例子。 希望它有所帮助。
答案 1 :(得分:0)
您可以使用Singleton类存储公共数据。希望它会有所帮助。