`

showDialog()、onPrepareDialog()和onCreateDialog()的关系

 
阅读更多

showDialog()调用createDialog()和onPrepareDialog(),其中createDialog()调用onCreateDialog()。

 

Android SDK 源代码:

public final void showDialog(int id) {
        showDialog(id, null);
}

==================================================================================================

public final boolean showDialog(int id, Bundle args) {
        if (mManagedDialogs == null) {
            mManagedDialogs = new SparseArray<ManagedDialog>();
        }
        ManagedDialog md = mManagedDialogs.get(id);
        if (md == null) {
            md = new ManagedDialog();
            md.mDialog = createDialog(id, null, args);
            if (md.mDialog == null) {
                return false;
            }
            mManagedDialogs.put(id, md);
        }
       
        md.mArgs = args;
        onPrepareDialog(id, md.mDialog, args);
        md.mDialog.show();
        return true;
}

==================================================================================================

 private Dialog createDialog(Integer dialogId, Bundle state, Bundle args) {
        final Dialog dialog = onCreateDialog(dialogId, args);
        if (dialog == null) {
            return null;
        }
        dialog.dispatchOnCreate(state);
        return dialog;
}

分享到:
评论

相关推荐

    防qq弹出对框

    Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过...

    Android AlertDialog 详解.pdf

    通过合理使用`onCreateDialog(int)`、`onPrepareDialog(int, Dialog)`和`showDialog(int)`等方法,开发者可以创建出符合应用需求的交互式对话框,提升用户体验。同时,`ProgressDialog`、`DatePickerDialog`和`...

    android dialog

    当调用`showDialog(int)`方法显示一个具有特定ID的`Dialog`时,如果这是首次为该ID显示`Dialog`,系统会调用`onCreateDialog(int)`。在这里,你可以创建并返回一个新的`Dialog`实例。例如,你可以创建一个`...

    Android_对话框大全

    首先,Android提供了Activity类中的一系列方法来帮助开发者管理对话框,包括`onCreateDialog(int id)`、`onPrepareDialog(int id, Dialog)`、`showDialog(int id)`和`dismissDialog(int id)`。这些方法使得对话框的...

    Android 对话框(Dialog)大全 建立你自己的对话框.docx

    在Android开发中,对话框(Dialog)是一种非常...通过熟练掌握`onCreateDialog()`、`onPrepareDialog()`等方法,以及`AlertDialog.Builder`和`DialogFragment`的使用,你可以构建出符合应用风格和功能的定制对话框。

    android对话框总结

    首先,Activity类提供了一套完整的对话框管理机制,包括`onCreateDialog(int)`、`onPrepareDialog(int, Dialog)`、`showDialog(int)`和`dismissDialog(int)`等方法。这些方法帮助开发者方便地创建、展示和管理对话框...

    Android Dialog.pdf

    - onCreateDialog(int)方法被调用来初始化对话框,传入的id与showDialog(int)方法中的一致。 - onPrepareDialog(int, Dialog)会在Dialog显示前调用,用于动态更新Dialog的内容,如果不重写,Dialog每次显示内容不变...

    Android 对话框(Dialog)大全 建立你自己的对话框

    为了更好地管理和控制对话框的生命周期,Android提供了一系列与对话框相关的API,如`onCreateDialog`, `onPrepareDialog`, `showDialog`, `dismissDialog`等。 #### 三、关键API详解 ##### 1. `onCreateDialog(int...

    Android对话框(Dialog)大全建立你自己的对话框..pdf

    通过`onCreateDialog`、`onPrepareDialog`等方法,我们可以灵活地控制对话框的生命周期和显示效果。同时,还可以结合事件监听器(如`OnClickListener`)来处理用户的选择,从而实现丰富的交互逻辑。

    Android_对话框(Dialog)大全

    3. **使用onCreateDialog()和showDialog()**:在旧版的Android API中,Activity提供了`onCreateDialog()`和`showDialog()`方法来管理对话框。`onCreateDialog()`用于创建对话框实例,`showDialog()`则负责显示对话框...

    Android 用户界面---对话框(Dialogs).pdf

    首次请求对话框时,`onCreateDialog(int)`会被调用,之后每次显示对话框前,`onPrepareDialog(int, Dialog)`可能会被调用,让你有机会在显示前更新对话框的内容。 例如,你可以通过定义常量来标识不同的对话框: ``...

    Android 对话框

    之后,在每次显示前,`onPrepareDialog(int, Dialog)`会被调用,便于更新对话框内容,使其根据当前状态动态变化。 #### 解除对话框 对话框的关闭可以通过调用`dismiss()`方法完成。如果使用`onCreateDialog(int)`...

    Android Dialog.docx

    随后,每次打开对话框之前,系统会调用onPrepareDialog(int, Dialog),你可以在这个方法中添加任何动态更新的内容。为了便于管理,通常会使用switch语句根据对话框ID来创建不同的对话框实例。 关闭对话框可以通过...

    Android 用户界面---对话框(Dialogs).docx

    对话框的创建和显示通常在`Activity`的生命周期中进行,通过重写`onCreateDialog(int)`回调方法。在这个方法中,系统会根据传入的ID创建相应的对话框实例。每个对话框都与创建它的`Activity`关联,这样它们可以继承`...

    Android对话框dialog大全(代码直接可用).pdf

    首先,Android提供了Activity类的一系列方法来方便开发者管理对话框,如onCreateDialog(int id),onPrepareDialog(int id, Dialog),showDialog(int id)以及dismissDialog(int id)。这些方法帮助我们创建、定制、...

    Android中 动态改变对话框值的方法

    总的来说,动态改变Android中对话框值的关键在于正确使用`onCreateDialog()`和`onPrepareDialog()`这两个回调方法。通过重写它们,你可以根据需要创建和更新Dialog,实现灵活的用户界面交互。在实际开发中,可以根据...

    Android对话框(Dialog)大全建立你自己的对话框..docx

    2. `onPrepareDialog(int id, Dialog dialog)`:这是一个可选的回调,会在每次对话框显示前调用,用于在显示前调整对话框的属性。如果你希望在每次打开对话框时做一些动态更新,可以在此方法中实现。 3. `...

    Android 对话框(Dialog)大全

    1. **对话框管理方法**:Android框架为开发者提供了一系列的方法来帮助管理对话框,如`onCreateDialog()`、`onPrepareDialog()`、`showDialog()`、`dismissDialog()`等。 2. **对话框生命周期**:对话框的生命周期...

    Android AlertDialog 详解.docx

    `onPrepareDialog(int, Dialog)`则在每次对话框打开前调用,如果你需要动态更新对话框内容,可以重写这个方法。通常,可以使用switch语句根据传入的id创建不同的对话框实例。例如: ```java protected Dialog ...

    Android 对话框大全

    - **应用场景**:初始化对话框的内容和布局,设置对话框的初始状态。 - **示例**: ```java @Override public Dialog onCreateDialog(int id) { switch (id) { case DIALOG_ID_CONFIRM: return ...

Global site tag (gtag.js) - Google Analytics