android中使用startactivityforresult跳转Activity后需要重写onBackPressed()方法
在android项目中经常会用startactivityforresult从一个Activity跳转到另一个Activity(这里指Activity_A和Activity_B),你可以从Activity_B返回数据到Activity_A中,
但是如果直接按手机返回键,因为并没有返回内容给Activity_A,所以程序会报错。
这事可以通过在Activity_B中重写onBackPressed()方法解决问题,代码如下:
private int backCode = 1; @Override public void onBackPressed() { intent = new Intent(); this.setResult(backCode, intent); this.finish(); }
Activity_A中主要代码如下:
private final int baseCode = 1; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // 根据请求码来区别 switch (resultCode) { case baseCode: //什么都不做 break; default: break; } }