美文网首页
Alert.Dialog 去掉 点击按钮自动关闭功能

Alert.Dialog 去掉 点击按钮自动关闭功能

作者: 大象屁股 | 来源:发表于2018-07-26 23:39 被阅读44次
    比较优雅的方法:
    需要仔细看3点需要注意的地方:
            final AlertDialog addMemberDialog = 
                   new AlertDialog.Builder(getContext())
                   .setTitle("添加成员")
                   .setView(dialogView)
                   .setCancelable(false)
                   //注意1:需要再这里设置监听为null,防止监听被替换;
                   .setPositiveButton("确认", null)
                   .setNegativeButton("取消", null)
                   .create();
                   //处理dialog自动关闭功能,需要重新设置点击事件
                   //注意2:需要在dialog完全Show出来后再得到Button,不然则有可能获取到的Button为null;
                   addMemberDialog.setOnShowListener(new DialogInterface.OnShowListener() {
                   @Override
                   public void onShow(DialogInterface dialogInterface) {
                     addMemberDialog.getButton(AlertDialog.BUTTON_POSITIVE)
                     .setOnClickListener(new View.OnClickListener() {
                        @Override
                    public void onClick(View view) {
                        if (TextUtils.isEmpty(nameEt.getText())) {
                            ToastUtil.show("请输入名称");
                              return;
                          }
                        if (TextUtils.isEmpty(contentEt.getText())) {
                          ToastUtil.show("请输入描述");
                          return;
                        }
                         mAdapter.addData(new MemberEntity(), true);
                        addMemberDialog.dismiss();
                     }
                 });
            }
        });
    //注意3:show 需要放到最后,不然,show的速度过快导致无法设置onShowListener
    addMemberDialog.show();
    

    相关文章

      网友评论

          本文标题:Alert.Dialog 去掉 点击按钮自动关闭功能

          本文链接:https://www.haomeiwen.com/subject/mfgimftx.html