//用户密码验证
public void validate() {
XMLPaselUtils utils = new XMLPaselUtils(this); //密码保护 解析xml文件的工具类 用的是pull解析
final Setter setter = utils.read(); //我自己定义了一个bean,用来保存xml中保存的所有的配置信息,这样感觉在程序中使用比较方便 哈哈是个笨方法
if(setter.getPassword()!=null && setter.getPassword().trim().length()>0){
View addView = getLayoutInflater().inflate(R.layout.reg, null);
final EditText reg_password = (EditText) addView.findViewById(R.id.reg_password);
android.content.DialogInterface.OnClickListener oklistener = new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
boolean reg = setter.getPassword().trim().equals(reg_password.getText().toString());
if(!reg){
//密码不正确
mainActivity.this.finish();
}
}
};
android.content.DialogInterface.OnClickListener canclelistener = new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
mainActivity.this.finish();
}
};
new AlertDialog.Builder(this).setCancelable(false) // 在dialog显示的时候将后退键功能取消
.setTitle("确认")
.setView(addView)
.setPositiveButton(R.string.okbutton, oklistener)
.setNegativeButton(R.string.canclebutton, canclelistener)
.show();
}
我在写程序的时候,当增加密码验证的时候,效果如下

后来自己想了方法重写后退键的方法,也是不行,主要是感觉重写的后退键按钮效果是在activity上的,而不是作用在这个dialog上的,后来更好笑的就是明白了,很简单的一个方法,就是在自己的new AlertDialog.Builder(this)后面增加 .setCancelable(false) // 在dialog显示的时候将后退键功能取消 就可以了 具体代码如上边所示: