(Android)如何在启动新活动时保存活动数据(Listview)并重新启动主活动listview活动

时间:2011-10-12 07:56:09

标签: android android-activity

我是Android开发的新手。我想开发一份调查问卷。调查问卷主要活动和摄像机活动中只有两项活动。 5月主要活动我ListView ListView.CHOICE_MODE_MULTIPLE。+纬度和经度两个文本字段。当用户给出正确的问题我检查复选框语法。当所有问题检查后,用户可以捕捉照片,所以我按钮点击这样开始相机活动

Intent cameraIntent = new Intent(myContext,MyCAMERA.class);
startActivity(cameraIntent); 

当用户确认照片时,我按照以下

开始主要活动增益
Intent mainIntent = new Intent(this, MAINActivity.class);

startActivity(mainIntent);

如上所述,当我开始重新启动主要活动时,我的所有复选框都未选中(丢失数据)文本字段已清除。从相机活动回来时,如何以原始状态保存这些数据我的代码如下

主要活动

super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
irisContext = this;
mHandler = new Handler();
getGUIFromXMLDoc();
.
.
.
. so on

getGUIFromXMLDoc()函数等中调用的所有其他按钮点击功能

抱歉我的英语不好。我希望你能理解我的问题

我已经在这篇博客上看过一些类似的问题,但没有任何相关的答案或没有明确解释

请尽快帮助我

2 个答案:

答案 0 :(得分:3)

以这种方式开始您的相机活动

Intent mainIntent = new Intent(this, MAINActivity.class);
startActivityForResult(mainIntent);

它将启动相机活动,因为当您以这种方式完成相机活动时,孩子不会从相机开始新活动

setResult(RESULT_OK);
finish();

如果取消该活动,那么就这样做

setResult(RESULT_CANCEL);
finish();

现在它将完成相机活动并返回主要活动

答案 1 :(得分:0)

您可以在MainActivity中的回调方法onSaveInstanceState()中保存活动状态。 下次返回此活动时,您可以在onCreate()方法中从Bundle中检索数据。

另一种方法是使用startActivityForResult()启动MyCamera活动,在完成MyCamera活动后,设置结果值并完成它。