读书人

怎么让AlertDialog 在点击确定或者取消

发布时间: 2013-07-08 14:13:00 作者: rapoo

如何让AlertDialog 在点击确定或者取消时不消失
http://hi.baidu.com/doyee/item/5e27c1155df589dcbf904246

        new AlertDialog.Builder(activity)                .setView(view)                .setCancelable(false)                .setTitle("登陆系统")                .setPositiveButton("登录", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog, int i) {                        EditText userName = (EditText) view.findViewById(R.id.editText);                        EditText userpwd = (EditText) view.findViewById(R.id.editText1);                        try {                            if (userName == null || userName.getText().toString().trim().length() == 0) {                                //不关闭对话框                                Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");                                field.setAccessible(true);                                field.set(dialog, false);   //设定为false,则不可以关闭对话框                                dialog.dismiss();                                ToastUtils.show(activity, "没有输入用户名......");                            } else if (userpwd == null || userpwd.getText().toString().trim().length() == 0) {                                //不关闭对话框                                Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");                                field.setAccessible(true);                                field.set(dialog, false);      //设定为false,则不可以关闭对话框                                dialog.dismiss();                                ToastUtils.show(activity, "没有输入密码......");                            } else {                                // 要正常关闭对话框                                ToastUtils.show(activity, "登陆成功......");                                Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");                                field.setAccessible(true);                                field.set(dialog, true);//设定为true,则可以关闭对话框                                dialog.dismiss();                            }                        } catch (Exception e) {                        }                    }                })                .setNegativeButton("取消", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialogInterface, int i) {                        activity.finish();                    }                }                )                .create()                .show();


可以关闭:
field.setAccessible(true);
field.set(dialog, true);//设定为true,则可以关闭对话框/color]

禁止关闭:
[color=darkblue]field.setAccessible(true);
field.set(dialog, false); //设定为false,则不可以关闭对话框

读书人网 >操作系统

热点推荐