欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发笔记

程序员文章站 2023-08-23 10:00:49
1.使用AlertDialog.Builder 对话框自定义view,并通过setview设置 这里要想在对话框按钮的监听事件中调用xml布局里面的控件,不能直接findViewById,需要这样写 对话框.show()函数之后才可以调用, 编程之路,坑多且长,此处留白,未完待续 ......

1.使用alertdialog.builder 对话框自定义view,并通过setview设置

 alertdialog.builder dlgalert;
            dlgalert = new alertdialog.builder(this);
            layoutinflater inflater = getlayoutinflater();

            dlgalert.settitle("用户协议");
            //dlgalert.setmessage(r.string.agreement);
            view checkview=inflater.inflate(r.layout.agreedialogview,null);
            dlgalert.setview(checkview);
            checkbox agreecheck=(checkbox)checkview.findviewbyid(r.id.checkbox_agree);;
            dlgalert.setpositivebutton("确定",
                    new dialoginterface.onclicklistener() {
                        @override
                        public void onclick(dialoginterface dialog, int id) {
                            // if this button is clicked, close current activity
                            if (agreecheck.ischecked()) {
                                init();
                            }
                            else
                            {
                                finish();
                                system.exit(0);
                            }
                        }
                    }).create();

            dlgalert.setneutralbutton("退出",
                    new dialoginterface.onclicklistener() {
                        @override
                        public void onclick(dialoginterface dialog, int id) {
                            // if this button is clicked, close current activity
                            finish();
                            system.exit(0);
                        }
                    }).create();
            dlgalert.show();

这里要想在对话框按钮的监听事件中调用xml布局里面的控件,不能直接findviewbyid,需要这样写

view checkview=inflater.inflate(r.layout.agreedialogview,null);
            dlgalert.setview(checkview);
            checkbox agreecheck=(checkbox)checkview.findviewbyid(r.id.checkbox_agree);;

对话框.show()函数之后才可以调用,

 

 

 

 

编程之路,坑多且长,此处留白,未完待续