zoukankan      html  css  js  c++  java
  • AlertDialog

    1.AlertDialog点击时不自动消失

    //在setPositiveButton和setNegativeButton根据自己的逻辑处理,大概代码如下
    if(validate){//验证通过自动消失
        setDialogDismissable(dialog, true);
    }else{//验证没通过,不能消失
        setDialogDismissable(dialog, false)
    }
    
    void setDialogDismissable(DialogInterface dialog, boolean dismissable){
            try {
                Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
                field.setAccessible(true); 
                field.set(dialog, dismissable);
            } catch (Exception e) {
                e.printStackTrace();
            } 
        }

    2.AlertDialog显示(EditText)时,自动弹出软键盘代码如下

    final EditText textEdit = new EditText(this);
    
    // Builder
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    //TODO:builder.setTitle("");
    
    // Dialog
    AlertDialog dialog = builder.create();
    dialog.setOnShowListener(new OnShowListener() {
    
        @Override
        public void onShow(DialogInterface dialog) {
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(textEdit, InputMethodManager.SHOW_IMPLICIT);
        }
    });
    
    dialog.show();

     注意:上面代码是dialog.show(), 不是builder.show();

  • 相关阅读:
    锚点
    autoLayout
    基础动画
    核心动画
    get和post的区别
    block的定义及使用
    传值-自定义构造函数传值
    字符串
    字典与可变字典
    RabbitMQ的可视化界面进行操作
  • 原文地址:https://www.cnblogs.com/baron89/p/3759287.html
Copyright © 2011-2022 走看看