2.3.5返回数据给上一个活动

思路:
FirstActivity中通过startActivityForResult(intent,1); 方法启动 SecondActivity, SecondActivity活动销毁时通过setResult() 方法返回数据给FirstActivity. FirstActivity通过重写onActivityResult方法捕获返回的数据

FirstActivity代码如下

 Button button1=(Button) findViewById(R.id.button1);
 button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this,SecondActivity.class);//显式Intent
                startActivityForResult(intent,1);
            }
 });


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
            case 1:
                if (resultCode == RESULT_OK) {
                    String returnedData=data.getStringExtra("data_return");
                    Log.d("FirstActivity",returnedData);
                }
                break;
            default:
        }
    }

SecondActivity代码如下所示

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_layout);
        //通过按钮销毁活动
        Button button2 = (Button) findViewById(R.id.button_2);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra("data_return", "hello FirstActivity");
                setResult(RESULT_OK, intent);
                finish();
            }
        });
    }

    //通过back键销毁活动
    @Override
    public void onBackPressed() {
        Intent intent = new Intent();
        intent.putExtra("data_return", "hello FirstAvtivity hahaha");
        setResult(RESULT_OK, intent);
        finish();

    }

猜你喜欢

转载自blog.csdn.net/weixin_40472158/article/details/81811769