手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android中 动态改变对话框值的方法
Android中 动态改变对话框值的方法
摘要:使用方法是这样的,Activity.showDialog()激发Activity.onCreateDialog()创建Dialog,然后显示...

使用方法是这样的,Activity.showDialog()激发Activity.onCreateDialog()创建Dialog,然后显示之,便于多个Dialog的统一管理。

注意,以后再用Activity.showDialog()显示同一个Dialog时,则不会调用Activity.onCreateDialog(),

而是调用Activity.onPrepareDialog(),使用上一次显示Dialog时的状态。即

第一次:showDialog() -> onCreatedialog()

以后: showDialog() -> onPrepareDialog()

在用oncreatedialog回调创建dialogd时候,系统会缓存dialog,下次直接就显示上次显示的内容。

当一个Dialog第一次被调用的时候,Android系统会调用你应该实例化Dialog的Activity的onCreateDialog方法,

这个方法会启动你从showDialog(int)方法里面传递的那个ID参数所定义的Dialog,当你创建成功后,在方法的最后回返回这个Dialog。

在Dialog显示之前,Android也会调用回调函数onPripareDialog(int,Dialog),当你想在这个Dialog每次打开的时候一些属性得到改变,你可以定义这个方法,

这个方法会在每次Dialog打开的时候被调用,onCreateDialog()只会在Dialog第一次打开的时候被调用,如果你没有定义onPrepareDialog(),

每次返回的Dialog都是和第一次显示的Dialog一样,这个方法需要传递一个ID和在onCreateDialog()方法中创建的Dialog。

最好的定义onCreateDialog()和onPrepareDialog()中使用switch对传入的id进行下判断,每一个case对应着要启动的Dialog的ID

复制代码 代码如下:

* 动态改变对话框值

* 关键点:onPrepareDialog方法 里面调用 removeDialog(id);

* 对话框调用执行顺序 showDialog() -> onCreateDialog() -> onPrepareDialog() -> removeDialog()

@Override

public void onPrepareDialog(int id, Dialog dialog) {

switch (id) {

case (DIALOG_SORT_MAILS):

removeDialog(id); //移出掉onCreateDialog()创建的Dialog

break;

}

}

【Android中 动态改变对话框值的方法】相关文章:

android中添加按钮事件的方法

android ListView自动滚动方法

Android编程实现擦除Bitmap中某一块的方法

Android手机保持屏幕高亮方法

Android软件开发环境搭建

android获取监听SD Card状态的方法

Android编程实现图标拖动效果的方法

android实现字体闪烁动画的方法

Android 用SQLite实现事务的方法

Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法

精品推荐
分类导航