我有3项活动。在第一个Activity中,使用startActivityForResult调用onClick方法,该方法将您带到Activity 2.然后从Activity 2中,您可以单击另一个将您带到Activity 3的按钮。
在活动3中,我想调用setResult方法,之后,它将完成Activity并使用活动3中的数据将您带回活动1。
但是,由于某种原因,数据为空,从不调用Activity.RESULT_OK。
我该如何处理?感谢。
在活动一:
@Override
public void onClick(View view) {
IVID = view.getId();
Intent i = new Intent(this, PhotoSelectActivityMultiple.class);
startActivityForResult(i, 1);
}
在活动2中:
Intent returnIntent = new Intent(getApplicationContext(), CollageGrid.class);
returnIntent.putStringArrayListExtra("imageurls", mDownloadURL);
startActivity(returnIntent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
在活动3中:
Intent intent=new Intent();
intent.putExtra("part",byteArray);
setResult(1, intent);
finish();
在onActivity中
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK) {
updateThis = (ImageView) findViewById(IVID);
byte[] byteArray = data.getByteArrayExtra("part");
Bitmap current_bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
updateThis.setImageBitmap(current_bmp);
}
if (resultCode == Activity.RESULT_CANCELED) {
}
}
}
答案 0 :(得分:0)
不是通过简单地调用StartActivity来启动Activity 3,我们还需要通过StartActivityForResult调用activity 3。因此,Activity3将值返回到Activity2 OnActivityResult,您可以将值传递给Activity1。