Android学习笔记——AlertDialogbuilder和AlertDialog
2016-05-16 13:46
435 查看
C++/Qt开始转行搞android了,比这郭霖大神的第一行代码写广播事件。学到在"广播中显示AlertDialog窗口"。本来以为很简单的事情,但是发现并不是这样。怪就怪在,是在“广播”中显示AlertDialog。废话不多少了,正题!
AlertDialog是Dialog的一个直接子类,AlertDialog也是Android系统当中最常用的对话框之一。但是刚开始用的时候发现有两个AlertDialogbuilder和AlertDialog,而且还发现AlertDialog不能用直接构造。(于是拔了下源码,好在java开源)。
原来“AlertDialog所有的构造方法都是写保护的所以不能通过:AlertDialog
alertDialog = new AlertDialog();来得到”, AlertDialog.builder是AlertDialog的静态内部类
//构建
AlertDialog.Builder
DialogBuilder =new AlertDialog.Builder(this);
DialogBuilder.setXXX()....
AlertDialog alertDialog = DialogBuilder.create();
alertDialog.show();
其实,后边两句可以直接写成
AlertDialog.Builder.show()
{
AlertDialog dialog = create();
dialog.show();
return dialog;
}
道理是一样的,这是AlertDialog.Builder.show()的实现
AlertDialog.Builder.show()
{
AlertDialog dialog = create();
dialog.show();
return dialog;
}
如果想在广播中显示AlertDialog,那必须写:
查了下资料,这两个的意思大概就是说“这是系统级别的警告窗”,级别很高的样子。不过实际验证了,确实,点home键,这个警告窗口都不消失
AlertDialog是Dialog的一个直接子类,AlertDialog也是Android系统当中最常用的对话框之一。但是刚开始用的时候发现有两个AlertDialogbuilder和AlertDialog,而且还发现AlertDialog不能用直接构造。(于是拔了下源码,好在java开源)。
原来“AlertDialog所有的构造方法都是写保护的所以不能通过:AlertDialog
alertDialog = new AlertDialog();来得到”, AlertDialog.builder是AlertDialog的静态内部类
//构建
AlertDialog.Builder
DialogBuilder =new AlertDialog.Builder(this);
DialogBuilder.setXXX()....
AlertDialog alertDialog = DialogBuilder.create();
alertDialog.show();
其实,后边两句可以直接写成
AlertDialog.Builder.show()
{
AlertDialog dialog = create();
dialog.show();
return dialog;
}
道理是一样的,这是AlertDialog.Builder.show()的实现
AlertDialog.Builder.show()
{
AlertDialog dialog = create();
dialog.show();
return dialog;
}
如果想在广播中显示AlertDialog,那必须写:
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
mainifest.xml添加权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
查了下资料,这两个的意思大概就是说“这是系统级别的警告窗”,级别很高的样子。不过实际验证了,确实,点home键,这个警告窗口都不消失
相关文章推荐
- 【Arduino官方教程第一辑】示例程序 4-6 串口控制LED
- HBuilder的常用快捷键
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)zhuanzai
- 用 QueryPerformanceFrequency 和 QueryPerformanceCounter 进行高精度计时
- PAT (Advanced Level) 1017. Queueing at Bank (25)
- poj 2524 Ubiquitous Religions(宗教信仰)
- 使用RTEMS Source Builder 编译RTEMS-4.11的开发工具链
- 【转】Android中的IOC框架,完全注解方式就可以进行UI绑定和事件绑定
- 排序——quickSort
- 【ROS】Choosing a queue_size - queue_size的大小的设置
- SPOJ375 Query on a tree
- 使用Jenkins+xcodebuild搭建iOS的持续集成系统
- UI基础_hitTest扩大响应范围
- 连接数据库超时设置autoReconnect=true
- SurfaceFlinger sequence diagram
- HZAU--21--Arithmetic Sequence(二维dp)
- iOSUIView是否包含,相交
- 浅谈getElementById / querySelector
- iOS UIView中坐标转换
- errors running builder "Integerate External Tool Builder "