简述
网上有很多关于AlertDialog的讲解,但是很少能够特别清楚,所以打算自己写一个,自己写的也不一定清楚
这个方法中有一个内部类,这是一个编码技巧,如果我们要通过监听不同button的事件来返回一个boolean的话,直接使用Boolean是不可以的,只能通过一个boolean变量来表示,但是这个变量又必须是final类型的,因此我们通过内部类的方式,并且在内部类中创建一个boolean变量,这样就算flag内部类得到的对象是final类型我们也可以实现功能。
PRivate boolean turn() { class flag { boolean flag = false; } final flag flag = new flag(); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setIcon(R.drawable.ic_launcher); builder.setTitle("真的退出?"); builder.setMessage("是否真的退出?"); builder.setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); login.this.finish(); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); return flag.flag; }
新闻热点
疑难解答