返回数据给上一个活动(intent)

来源:互联网 发布:数据共享保密管理 编辑:程序博客网 时间:2024/05/16 14:02

在主活动中startActivityForResult()方法接受两个参数,第一个参数是intent,第二个参数是请求码,用于在之后的回调中判断数据的来源

button=(Button) findViewById(R.id.button1);        button.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                Intent intent=new Intent(MainActivity.this,twoactivity.class);                startActivityForResult(intent, 1);            }        });

在第二个actiovity中添加一个button按钮,设置button按钮的点击事件

Button button=(Button) findViewById(R.id.button1);    button.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View arg0) {            // TODO Auto-generated method stub            Intent intent=new Intent();            intent.putExtra("data", "hello mainactivity");            setResult(RESULT_OK,intent);            finish();        }    });

在主活动中重写onActivityResult()方法

@Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        // TODO Auto-generated method stub        super.onActivityResult(requestCode, resultCode, data);        switch (requestCode) {        case 1:            if(resultCode==RESULT_OK){                String returnDatra=data.getStringExtra("data");                Log.d("data",""+returnDatra+"");            }            break;        default:            break;        }    }

你会不会问用户在第二个活动中不是通过点击按钮,而是点击的back键会到的主活动,这样数据不就没法返回了吗?
我们可以通过重写onBackPressed()方法

@Override    public void onBackPressed() {        // TODO Auto-generated method stub    Intent intent=new Intent();    intent.putExtra("data", "hello mainactivity");    setResult(RESULT_OK,intent);    finish();    }
0 0
原创粉丝点击