我想从活动#1开始活动#2,并要求从#2到#1取得结果。
我阅读了指导和指南以及教程,但没有任何帮助我。
活动#2中的我有一个最后的字符串(让我们称之为"终结字符串")。
活动#1中的我有一个按钮,可以将用户发送到POPUP活动(#2),如果用户在POPUP区域外单击,则会返回活动#1。
简而言之,没有返回按钮。
到目前为止,我尝试了
的基本方法Intent Open1 = new Intent(Two.this, Popup1.class);
startActivityForResult(Open1, String.finalstring);
但它不起作用。
我看到我应该在某些情况下放置IF条件,否则它们都不起作用。我该怎么办?
答案 0 :(得分:1)
其实你理解错了,
让我们在你的Activity1(popup1)中说:
您正在启动Activity2(popup2),例如
Intent startActivity2 = new Intent(Popup1.this, popup2.class);
startActivityForResult(startActivity2, 0); // 0 is our request_code
现在,你必须在Activity1(popup1)中实现onActivityResult()
方法,它将从Activity2(popup2)中捕获你的结果。
等
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check request
if (requestCode == 0) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
// Here is your final string
String resultFromActivity2 = data.getStringExtra("result);
}
}
}
现在,在您调用完成的Activity2(popup2)中,将您的字符串结果写入意图,如
Intent returnIntent = new Intent();
returnIntent.putExtra("result","your_string_result"); // your_string_result should be change with string you want to pass
setResult(Activity.RESULT_OK,returnIntent);
finish();