Android中的onActivityResult和setResult

来源:互联网 发布:linux命令手册 编辑:程序博客网 时间:2024/06/06 08:55

使用场景:

在当前activity中打开新的activity,希望获得新的activity关闭后返回的数据,

前面的activity:startActivityForResult(Intent intent,int requestCode),并重写onActivityResult(int requestCode, int resultCode,Intent data)。

新的activity关闭后会向前面的activity传回数据。

requestcode请求码:

可自定义,用于标识请求来源。

Intent lanIntent = new Intent(mActivity, MinePhoneAttrActivity.class);                lanIntent.putExtra(MinePhoneAttrActivity.TYPE, MinePhoneAttrActivity.TYPE_TRANSFER);                startActivityForResult(lanIntent, 2);

@Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        switch (requestCode) {            case 2:                if (resultCode == RESULT_OK) {                    switchPhoneAttr(data);                }                break;

resultCode结果码:

用于标识返回结果的来源。

Intent result = new Intent();            result.putExtra("attr", phoneAttr);            setResult(RESULT_OK, result);            finish();



阅读全文
0 0