在实际开发中经常会用到showDialog(int id)的方法来展示一个对话框,但是会遇到一个Dialog展示之后下次再show的时候对话框的界面还是上次展示的那个,而不是我们想象的界面。很多时候我们打开一个对话框的时候里面的元素是根据需求变化的,这个时候就遇到刷新对话框的问题。这个时候就需要用到重写onPrepareDialog方法了
现在有两方面需求:
1、对话框的title或者message,这个时候在onPrepareDialog里面加上以下代码就可以:

public void onPrepareDialog(int id, Dialog dialog) {
      switch(id) {
      case (TIME_DIALOG) :
         String string = "";
         AlertDialog timeDialog = (AlertDialog)dialog;
         timeDialog.setMessage(string);
         timeDialog.setTitle(string);
         break;
      }
  }
但是有的时候我们要改变的不仅仅是title和massage,有可能对话框里面的布局是自定义的布局,我们要改变的是自定义布局里面的数据,这个时候我们期望的是每一次打开此对话框都可以重新加载一遍。代码如下:
public void onPrepareDialog(int id, Dialog dialog) {
   switch(id) {
    case (TIME_DIALOG) :
       removeDialog(id);
       break;
  }
}
这个时候可能会遇到在对话框中调用
removeDialog(ID)报错的情况,解决办法是
case ID: {
   final String []citys = getServiceType();
  Alert_Dialog dialog = new Alert_Dialog.Builder(NetDataPreferences.this).setTitle(R.string.netdata_adjust_order_service_type).setSingleChoiceItems(citys, getLocation(citys,0, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
          try {
      dialog.dismiss();
     } catch (Exception e) {
      // TODO: handle exception
     }
    }
   }).setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
     try {
     dialog.dismiss();
     } catch (Exception e) {
      // TODO: handle exception
     }
    }
   }).create();
   return dialog;
  }

dialog里面数据更新问题的更多相关文章

  1. 3java面试题 传智 发的 有用

    第一章内容介绍 20 第二章JavaSE基础 21 一.Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public.private.protect ...

  2. SAP数据更新的触发

    SAP 应用系统架构         应用层运行着DIALOG进程,每个DIALOG进程绑定一个数据库进程,DIALOG进程与GUI进行通信,每次GUI向应用服务器发送请求时都会通过dispatche ...

  3. vue element 新增、编辑类Dialog公用函数

    调用 <el-button type="primary" class="my-button" size="small" :loadin ...

  4. 使用MonoTouch.Dialog简化iOS界面开发

    MonoTouch.Dialog简称MT.D,是Xamarin.iOS的一个RAD工具包.它提供易于使用的声明式API,不需要使用导航控制器.表格等ViewController来定义复杂的应用程序UI ...

  5. 2000条你应知的WPF小姿势 基础篇<78-81 Dialog/Location/WPF设备无关性>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...

  6. Android PopupWindow Dialog 关于 is your activity running 崩溃详解

    Android PopupWindow Dialog 关于 is your activity running 崩溃详解 [TOC] 起因 对于 PopupWindow Dialog 需要 Activi ...

  7. 三个不常用的HTML元素:<details>、<summary>、<dialog>

    前面的话 HTML5不仅新增了语义型区块级元素及表单类元素,也新增了一些其他的功能性元素,这些元素由于浏览器支持等各种原因,并没有被广泛使用 文档描述 <details>主要用于描述文档或 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. 10.JAVA之GUI编程弹出对话框Dialog

    在上节基础上添加对话框显示错误信息. 代码如下: /*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体.*/ /*练习-列出指定目录内容*/ import java.awt.Button; ...

随机推荐

  1. invalid conversion from 'void* (*)()' to 'void* (*)(void*)'

    void *thread1() ], NULL, thread1, NULL)) != ) 提示:invalid conversion from 'void* (*)()' to 'void* (*) ...

  2. 使用RAID与LVM磁盘阵列技术。

    7.2 LVM逻辑卷管理器 前面学习的硬盘设备管理技术虽然能够有效地提高硬盘设备的读写速度以及数据的安全性,但是在硬盘分好区或者部署为RAID磁盘阵列之后,再想修改硬盘分区大小就不容易了.换句话说,当 ...

  3. 使用JPedal取代PDFBox

    http://wanggp.iteye.com/blog/1144177 ———————————————————————————————————————————————— 之前都是使用PDFBOX0. ...

  4. php 删除目录

    <?php /* 自定义的删除函数,可以删除文件和递归删除文件夹 */ function my_del($path)//自定义my_del函数,函数有一个参数($path).当调用my_del( ...

  5. 关于win7下安卓开发环境的搭建

    一.下载安装JDK(不用配置环境变量) 1.先卸载原来存在的JDK 控制面板-卸载程序-有两个软件(Java SE Development Kit 8 Update 101(64-bit)和Java ...

  6. 直接拿来用!最火的Android开源项目(转)

    摘要:对于开发者而言,了解当下比较流行的开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果.为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20 ...

  7. 关于HTTP keep-alive的实验(转至 http://my.oschina.net/flashsword/blog/80037)

    前面一篇文章提到,HTTP1.1中持久连接已经是默认配置,除非设置Connection为close,否则默认都会进行持久连接.但是我们知道事实标准跟教科书还是可能会有一定差距的,所以不妨自己尝试一下. ...

  8. vnc远程控制软件怎么用

    CC是一款不错的局域网控制软件,它的轻便让人无法相信,下载过该软件的人都知道,该软件只有大小 工具/原料   我这里使用的是vnc-E4_2_9X32中文版 被控制端的安装   1 我们先来被控制电脑 ...

  9. 感谢各位亲们的大力支持,免费的HTML5学习课程《HTML5网页开发实例具体解释》连载已经结束了!

    感谢各位亲们的大力支持,免费的HTML5学习课程<HTML5网页开发实例具体解释>连载已经结束了.  有兴趣的读者能够看我的博客,也能够看以下的链接逐个学习: 当里个当.免费的HTML5连 ...

  10. GC浅析之三-性能调优经验总结

    性能调优经验总结 问题的出现: 在日常环境下,以某server 为例,该机器的每秒的访问量均值在368左右,最大访问量在913.对外提供服务的表现为每两三个小时就有秒级别的时间客户端请求超时,在访问量 ...