返回顶部
首页 > 资讯 > 移动开发 >Android中 动态改变对话框值的方法
  • 919
分享到

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

方法动态Android 2022-06-06 10:06:30 919人浏览 八月长安
摘要

使用方法是这样的,Activity.showDialog()激发Activity.onCreateDialog()创建Dialog,然后显示之,便于多个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中自定义对话框(Dialog)的实例代码Android实现点击AlertDialog上按钮时不关闭对话框的方法实例详解Android自定义ProgressDialog进度条对话框的实现android 对话框弹出位置和透明度的设置具体实现方法Android实现底部对话框BottomDialog弹出实例代码Android中AlertDialog各种对话框的用法实例详解Android加载对话框同时异步执行实现方法Android修改源码解决Alertdialog触摸对话框边缘消失的问题Android使用setCustomTitle()方法自定义对话框标题Android实现带图标的列表对话框


--结束END--

本文标题: Android中 动态改变对话框值的方法

本文链接: https://lsjlt.com/news/27861.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作