自定义AlertDialog的创建和使用

  1. 填充视图
View v = myActivity.this.getLayoutInflater().inflate(
                R.layout.dialog_nickname, null);

其中R.layout.dialog_nickname是已经写好的布局文件,想要显示什么就再这个布局文件中添加控件。
如果想要获得R.layout.dialog_nickname里的控件,就用

 v.findViewById(R.id.input_et);
  1. 创建dialog
new AlertDialog.Builder(PersonInfoActivity.this)
                .setView(v)
                // .setTitle("编辑昵称")
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        if (TextUtils.isEmpty(dialogNickName.getText())) {
                            showToast("昵称不能为空");
                        } else {
                            // 如果点击确定时dialog里的昵称和原来的昵称
                            if (!nickNameInfo_tv.getText().equals(
                                    dialogNickName.getText())) {
                                nickNameInfo_tv.setText(dialogNickName
                                        .getText());

                            }

                        }

                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                }).create().show();

这样点击确定按钮就能更改TextView里的昵称了
此外还有一些其他方法比较常用的
setTitle(title)
设置对话框的标题
dialog.setCanceledOnTouchOutside(false);
//设置点击Dialog外部任意区域关闭Dialog,false为不会关闭
LayoutInflater inflater = LayoutInflater.from(mContext);
//获得填充器
View dialogView = inflater.inflate(R.layout.dialog, null);
//填充视图到dialogView

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值