安卓ApiDemos学习 app/Activity/ReceiveResult

此示例演示了activity间,利用ActivityResult机制进行数据交互


画面ReceiveResult中,按下按钮后,调用如下代码启动画面SendResult

            Intent intent = new Intent(ReceiveResult.this, SendResult.class);
            startActivityForResult(intent, GET_CODE);
startActivityForResult函数的第2个参数设置了requestCode,在得到结果时,可以区分是谁返回的值

画面SendResult中,返回结果code和数据

setResult(RESULT_OK, (new Intent()).setAction("Corky!"));

第一个参数是resultCode


主画面ReceiveResult的onActivityResult方法处理其他画面的返回值

        if (requestCode == GET_CODE) {

            // We will be adding to our text.
            Editable text = (Editable)mResults.getText();

            if (resultCode == RESULT_CANCELED) {
                text.append("(cancelled)");

            } else {
                text.append("(okay ");
                text.append(Integer.toString(resultCode));
                text.append(") ");
                if (data != null) {
                    text.append(data.getAction());
                }
            }

            text.append("\n");
        }
首先检查requestCode是否一致,然后根据resultCode的不同进行处理

初始显示

弹出画面


得到数据刷新




你可能感兴趣的:(Android)