近期在开发android项目时, Activity1使用startactivityforresult方法跳转到Activity2,但是点击back键时,报错。
解释:
当不满足触发条件就按返回键的时候,就要对此进行检测。尤其是当前Activity需要往前一个Activity传送消息时。即Activity1跳转到Activity2如果采用的是startActivityForResult这种方式,如果不重写返回键,程序不知道要返回给Activity1什么内容就会报错。因此,必须对Activity2的返回按键重写,重写onBackPressed():
所以在Activity2中,重写onBackPressed()方法。
@Override
public void onBackPressed() {
//数据是使用Intent返回
Intent intent = new Intent();
//把返回数据存入Intent
intent.putExtra(BACK_CODE, BACK_CODE_NO);
//设置返回数据
TradeQuoteActivity.this.setResult(RESULT_OK, intent);
//关闭Activity
TradeQuoteActivity.this.finish();
}