- 填充视图
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);
- 创建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