Java 通过意图从活动返回结果
我在我的项目中有两个类:main和importer。Main使用startActivityForResult()启动导入程序,但导入程序如何将其状态返回到Main?谢谢:)当Java 通过意图从活动返回结果,java,android,android-intent,Java,Android,Android Intent,我在我的项目中有两个类:main和importer。Main使用startActivityForResult()启动导入程序,但导入程序如何将其状态返回到Main?谢谢:)当导入程序完成其工作时,它必须调用finish()。Main将在中接收结果。我假设Importer和MainextendActivity 在Main中重写此方法: @Override public void onActivityResult(int requestCode, int resultCode, Intent dat
导入程序完成其工作时,它必须调用finish()
。Main将在中接收结果。我假设Importer
和Main
extendActivity
在Main
中重写此方法:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
内部进口商
Intent data = new Intent();
data.putExtra("result", "i am the result");
setResult(1000, data);
finish();
然后
onActivityResult
将接收resultCode=1000
和数据!=当您准备好返回到MainActivity
时,通过调用Importer
返回null。您可以使用setResult(int)
返回结果代码,也可以使用setResult(int,Intent)
返回数据
然后使用MainActivity
中的onActivityResult()
对数据执行所需操作
我们有一个这样做的例子,虽然我不相信它显示了使用setResult()
,但它非常简单。作为startActivityForResult(Activity2,请求代码)启动Activity2
在下一个活动中完成任务2
Intent output = new Intent();
output.putExtra("value1", somedata);
setResult(RESULT_OK, output);
finish();
并在Activity1中使用onActivityResult()
@Override
public void onActivityResult (int requestCode, int resultCode, Intent data)
{
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null)
val1 = data.getIntExtra("value1");
}
“我假设进口商和主要进口商都是”是的,他们是。谢谢,但是你能告诉我如何使用这些空隙吗?