请看一下代码中的这两行:
builder.setView(R.layout.dialog);
View view = LayoutInflater.from(this.getContext()).inflate(R.layout.dialog, null);
在这里,您将布局的资源id提供给
AlertDialog.Builder
AlertDialog
的“可定制”区域(您可以通过首先将
View
然后打电话来
AlertDialog.Builder.setView(View)
)
LayoutInflater
创建
通过膨胀
再次使用相同的布局文件
. 这个新的
可由局部变量访问
看法
在里面
onCreateDialog()
但它从未添加到任何
ViewGroup
所以它永远不会被展示出来。因为
Button
查看
OnClickListener
永远不会开火。
对话框
这样地:
AlertDialog.Builder builder = new AlertDialog.Builder(Objects.requireNonNull(getActivity()));
View view = LayoutInflater.from(this.getContext()).inflate(R.layout.dialog, null);
builder.setView(view);
Dialog dialog = builder.create();
setCancelButtonListener((Button) Objects.requireNonNull(view.findViewById(R.id.button_cancel)), dialog);
return dialog;