第二个活动的“setResult”要么不是将数据传回给第一个onActivityResult,要么是onActivityResult甚至没有被调用......我可以'吨弄清楚其看不清为什么onActivityResult不起作用
第一活动:
//-- Handle item selection
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_settings:
Intent i = new Intent(this, Options.class);
Bundle counters = new Bundle();
counters.putInt("plWin", plWin);
counters.putInt("plLoss", plLoss);
counters.putInt("plDraw", plDraw);
i.putExtras(counters);
startActivityForResult(i, RESULT_OK);
return true;
case R.id.menu_reset:
//-- Data being passed from "Options" --
protected void onActivityResult(int requestCode, int resultCode, Intent i){
Bundle counts = i.getExtras();
if (resultCode == RESULT_OK) {
Toast.makeText(getApplicationContext(), "BOOM SHAKA LAKA!",Toast.LENGTH_SHORT).show();
plWin = counts.getInt("Win", 100);
plLoss = counts.getInt("Loss", 100);
plDraw = counts.getInt("Draw", 100);
}
}
}
第二活动:
}
//-- Data being passed back to "Main" --
public void onBackPressed() {
Bundle counters = new Bundle();
Intent i = new Intent();
counters.putInt("Win", wins);
counters.putInt("Loss", losses);
counters.putInt("Draw", draws);
i.putExtras(counters);
setResult(RESULT_OK, i);
finish();
}
}
没有例外...我感觉到它根本不叫他们。我这样做了,但不是'0'我用'100',并没有得到任何一个 – Psest328
备份我以前的声明。我在onActivityResult if方法下插入了一个toast,并且它没有根据AlexN的要求激活 – Psest328
,我改变了操作...粘贴了两个活动的全部内容 – Psest328