android 点击对话框按钮 不关闭按钮,Android实现点击AlertDialog上按钮时不关闭对话框的方法...

本文实例讲述了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();

}

});

问题完美解决。

希望本文所述对大家的Android程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值