之前发的那篇自定义Dialog似乎有点太含糊,Dialog的关系图甚至都没写,以及Dialog显示的时候Activity的生命周期是处于什么状态,Dialog如何向Activity传递值
1,Dialog的关系图
2,Dialog显示的时候Activity处于什么状态 ? Dialog显示的时候不会调用Activity的任何生命周期方法,上代码:
public class MainActivity extends Activity {
private CustomDialog mDialog;
private final String TAG = "MainActivity";
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.e(TAG, "onCreate");
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.activity_main);
mButton = (Button) findViewById(R.id.btn_start);
mDialog = new CustomDialog.Builder(this).setTitle("标题")
.setMessage("这是内容")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dissmissDialog();
}
})
.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dissmissDialog();
}
}).setCallBackListener(new DialogCallBackListener() {
@Override
public void callBack(String msg) {
if (!TextUtils.isEmpty(msg))
mButton.setText(msg);
}
}).build();
mDialog.getWindow().setWindowAnimations(R.style.Dialog_Anim_Style);
}
public void showDialog(View view) {
if (mDialog != null && !mDialog.isShowing())
mDialog.show();
}
public void dissmissDialog() {
if (mDialog != null && mDialog.isShowing())
mDialog.dismiss();