我正在尝试为Android创建一个包含多个选项的应用程序,每个选项都取决于前一个选项。
首先,显示包含一些选项的列表,在选择一个选项之后,我将请愿书发送到网络服务器数据库并发回新选项并使用新选项创建新活动,依此类推,直到最后一个选项列表
我使用asynctask进行请愿发送,并使用putExtra在活动之间发送信息。
问题在于我不喜欢这种方法。太多的活动和骑自行车是一种痛苦,当选择最后一个选项时,我想回到主屏幕,但我有一堆活动要先处理,我不知道怎么做。
我不知道如何处理这个问题?可以重用相同的活动吗?由于数据库查询不同,每个选项都是不同的打包。
欢迎任何帮助:)
答案 0 :(得分:0)
从FirstActivity使用startActivityForResult()方法调用SecondActivity
例如:
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);
在SecondActivity中设置要返回FirstActivity的数据,如果您不想返回,请不要设置任何。
例如:在secondActivity中,如果要发回数据:
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(RESULT_OK,returnIntent);
finish();
如果您不想返回数据:
Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();
现在,在您的FirstActivity类中,为onActivityResult()方法编写以下代码
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK){
String result=data.getStringExtra("result");
}
if (resultCode == RESULT_CANCELED) {
//Write your code if there's no result
}
}
}//onActivityResult
通过调用finish()来销毁活动;在上面。它通过onDestroy(); 或者通过将良好标志添加到StartActivity();
中使用的意图