dialog像父activity传递参数

启动新activity有两种方式:

startActivityForResult(Intent, int);
startActivity(Intent, Bundle);

新开启的dialog像父activity传递参数用第一种方法。

startActivityForResult(Intent, int)

intent:要传递的值

int:给新开启的dialog打标签,便于识别,同一个activity中可能开启好多个新activity

 

新开启的activityB用

Intent intent = new Intent();
intent.putExtra("dateTime", df.format(dateAndTime.getTime()));
            this.setResult(0, intent);
            this.finish();

这种方式向父activity传值。

 

那父activityA如何接收呢?

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (data != null) {
            mShowTime.setText(data.getStringExtra("dateTime"));
        }
        
    }

重写onActivityResult方法,activityB调用finish()方法后,会自动调用onActivityResult。

这里面的requestCode就是我们刚刚设置的“0”,可以根据requestCode做不同的操作。

posted on 2013-11-27 23:30  emlie  阅读(693)  评论(0)    收藏  举报