我的活动启动了startActivityForResult
的其他活动。在其他活动中,我更改了一个字节,然后返回原始活动,在调用Intent
之前将更改的字节存储在finish()
中。
第二项活动:
public void goBack(View backButton){
Intent previousPage = new Intent();
System.out.println("open " + currentIndex);
previousPage.putExtra("language", currentIndex);
setResult(RESULT_OK, previousPage);
finish();
}
第一项活动:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == RETURN_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Intent i = getIntent();
currentIndex = i.getByteExtra("language", (byte)0);
System.out.println("onactvityiresult " + currentIndex);
}
}
}
该字节最初为0.我在第二个活动中将其更改为1。但系统输出是:
10-09 19:00:34.519 9669-9669/com.example.admin.ghost I/System.out﹕ open 1
10-09 19:00:34.566 9669-9669/com.example.admin.ghost I/System.out﹕ onactvityiresult 0
如果字节最初为1并且我在第二个活动中将其更改为0,则输出为:
10-09 19:10:53.034 13437-13437/com.example.admin.ghost I/System.out﹕ open 0
10-09 19:10:53.331 13437-13437/com.example.admin.ghost I/System.out﹕ onactvityiresult 1
如果我不更改第二个活动中的字节,它会正确显示0和0,或1和1。
就好像第一个活动保持其原始字节无论如何。如何将新字节传递给First Activity?
答案 0 :(得分:1)
data
onActivityResult
的论点是setResult(RESULT_OK, previousPage)
的值。