zoukankan      html  css  js  c++  java
  • Android实现点击AlertDialog上按钮时不关闭对话框

    开发过程中,有时候会有这样的需求:

    点击某个按钮之后显示一个对话框,对话框上面有一个输入框,并且有“确认”和“取消”两个按钮。当用户点击确认按钮时,需要对输入框的内容进行判断。如果内容为空则不关闭对话框,并toast提示。

    使用AlertDialog.Builder创建对话框时,可以使用builder.setNegativeButton和builder.setPositiveButton两个方法设置取消按钮和确认按钮的点击事件。然而问题在于,只要用户点击了确认按钮或者取消按钮,系统就会自动将对话框关闭。

    解决此问题的方法是:

    (1)使用builder.setPositiveButton设置确认按钮的文字,但是不添加监听。即:

    builder.setPositiveButton(R.string.main_ok, null);

    (2)得到AlertDialog对象:

    AlertDialog alertDialog = builder.create();  
    alertDialog.show();

    (3)获取到对话框上的确认按钮,然后对该按钮添加普通的View.OnClickListener。在用户输入正确的时候,手动调用alertDialog.dismiss()关闭对话框。

    alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
     String cardNum = cardNumET.getText().toString().trim();
     if (cardNum.length() == 0) {
         Utility.showToast(mActivity, "请输入编号");
         return;
     }
     //发送
     sendProfile(cardNum);
     alertDialog.dismiss();
        }
    });
  • 相关阅读:
    MM1排队系统
    java基本概念
    将博客搬至CSDN
    数据库知识点1
    离散分布
    概率论1--基本概念
    一道经典JS题(关于this)
    ajax请求过程中下载文件在火狐下的兼容问题
    熟悉css/css3颜色属性
    打字机游戏Ⅱ之手速pk
  • 原文地址:https://www.cnblogs.com/chenlong-50954265/p/5629352.html
Copyright © 2011-2022 走看看