Android开发笔记

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()函数之后才可以调用,

 

 

 

 

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

 

你可能感兴趣的:(Android开发笔记)