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做不同的操作。
浙公网安备 33010602011771号