一、带参数的不同Activity之间的数据传递
第一个Activity:
/*new一个Intent对象,并指定class*/ Intent intent = new Intent(); intent.setClass(EX03_10.this,EX03_10_1.class); /*new一个Bundle对象,并将要传递的数据传入*/ Bundle bundle = new Bundle(); bundle.putDouble("height",height); bundle.putString("sex",sex); /*将Bundle对象assign给Intent*/ intent.putExtras(bundle); /*调用Activity EX03_10_1*/ startActivity(intent);
第二个Activity:
/* 取得Intent中的Bundle对象 */ Bundle bunde = this.getIntent().getExtras(); /* 取得Bundle对象中的数据 */ String sex = bunde.getString("sex"); double height = bunde.getDouble("height");
二、返回数据到前一个Activity
第一个Activity:
Intent intent = new Intent(); intent.setClass(EX03_11.this, EX03_11_1.class); startActivityForResult(intent, 0); /* 重写 onActivityResult() */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (resultCode) { case RESULT_OK: break; default: break; } }
Intent intent = this.getIntent(); EX03_11_1.this.setResult(RESULT_OK, intent); /* 关闭activity */ EX03_11_1.this.finish();