常见问题:
重复创建Dialog出现异常 原因 static 修饰的变量导致无法修改或者释放 (检查当前活动Activity注销时是否又回收Dialog对象)
原理:
将View提交给安卓容器呈现
1、创建一个空的AlertDialog并进行显示
Builder builder = new Builder(context); //创建空的AlertDialog
AlertDialog dialog = builder.create(); //进行显示
dialog.show();
2、获取手机窗口 ******手机的窗口获取是需要载体的 这里的载体是AlertDialog
Window window = dialog.getWindow() //获取窗口
4、根据窗口布局加载 需要的参数创建一个View ,注意。。。由于代码是从上往下执行的,如果我把步骤写到3的后面 那么3的参数就会获取不到
这里的步骤是按思路来的,先写第三步再写第四步
View view = View.inflate(context,R.layout.xx,null) //加载布局
3、给获取到的窗口加载布局
window.setContentView(view) / R.layout.xx (这种写法能显示,不能获取到点击事件和更新)
5、给加载的布局更新UI 时 获取到对应 控件 Id 的方法
如Button btn = view.findViewById(R.id.xx);
//加载的布局设置监听 (如点击事件之类)
view.setListeners(R.id.xx,new onXxxxListener(){})