Activity的Intent控件用法

一、带参数的不同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;
}
}
 

第二个Activity:
Intent intent = this.getIntent();
EX03_11_1.this.setResult(RESULT_OK, intent); /* 关闭activity */
EX03_11_1.this.finish();
 

 

 

你可能感兴趣的:(Activity)