安卓中,如果需要从子AlertDialog更新父AlertDialog,可以通过以下步骤实现:
AlertDialog.Builder parentBuilder = new AlertDialog.Builder(MainActivity.this);
parentBuilder.setTitle("父AlertDialog");
parentBuilder.setMessage("点击按钮以显示子AlertDialog");
parentBuilder.setPositiveButton("显示子AlertDialog", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 在这里显示子AlertDialog
showDialogChild();
}
});
AlertDialog parentDialog = parentBuilder.create();
parentDialog.show();
private void showDialogChild() {
AlertDialog.Builder childBuilder = new AlertDialog.Builder(MainActivity.this);
childBuilder.setTitle("子AlertDialog");
childBuilder.setMessage("点击按钮以更新父AlertDialog");
childBuilder.setPositiveButton("更新父AlertDialog", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 在这里更新父AlertDialog
updateParentDialog();
}
});
AlertDialog childDialog = childBuilder.create();
childDialog.show();
}
private void updateParentDialog() {
AlertDialog parentDialog = (AlertDialog) MainActivity.this.findViewById(R.id.parent_dialog);
if (parentDialog != null) {
parentDialog.setMessage("父AlertDialog已被更新");
}
}
这样,当点击父AlertDialog中的按钮显示子AlertDialog后,再点击子AlertDialog中的按钮即可更新父AlertDialog的内容。
在这个过程中,使用了AlertDialog.Builder类来创建AlertDialog,并通过setPositiveButton方法为按钮设置点击事件。同时,为了能够在子AlertDialog中获取到父AlertDialog的实例,需要在父AlertDialog的创建代码中为其设置一个唯一的标识符(ID),然后通过findViewById方法获取到该实例。
领取专属 10元无门槛券
手把手带您无忧上云