zoukankan      html  css  js  c++  java
  • dialog里面数据更新问题

    在实际开发中经常会用到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;
      }

  • 相关阅读:
    逆序数
    Java处理对象
    Java8增强的包装类
    Java初始化块
    Linux- Linux软件配置
    Python- 【python无法更新pip】提示python.exe: No module named pip
    Error- Overloaded method value createDirectStream in error Spark Streaming打包报错
    Error- spark streaming 打包将全部依赖打进去Invalid signature file digest for Manifest main attributes
    Spark- Spark从SFTP中读取zip压缩文件数据做计算
    JAVA- 内部类及匿名内部类
  • 原文地址:https://www.cnblogs.com/ada-zheng/p/3156575.html
Copyright © 2011-2022 走看看