AlertDialog与Dialog的区别以及一个奇怪的问题1
来源:互联网 发布:高速公路收费计算软件 编辑:程序博客网 时间:2024/06/06 11:43
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1、AlertDialog由于是对Dialog的封装,所以,在调用setContentView 的方法时候不可在构造函数内调用。而Dialog的则可以。原因在于</span>
源码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mAlert.installContent();// private AlertController mAlert; }
<strong><span style="color:#330033;background-color: rgb(255, 204, 204);">mAlert.installContent();对应的源码:</span></strong>
public void installContent() { /* We use a custom title so never request a window title */ mWindow.requestFeature(Window.FEATURE_NO_TITLE); if (mView == null || !canTextInput(mView)) { mWindow.setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM, WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); } mWindow.setContentView(mAlertDialogLayout); setupView(); }
由此可见 mWindow.requestFeature(Window.FEATURE_NO_TITLE); 的调用导致setContentView 不可提前使用。
2、有个奇怪的问题:就是对于输入法Dialog可以自动隐藏输入法,而AlertDialog则不可以,此问题,哪位大侠知道可以留言,感谢!(失之东隅,收之桑榆:如果需要不隐藏输入法的效果,可以使用AlertDialog,反之,可以继承Dialog)
以上的问题记录都是继承AlertDialog或者Dialog的方式使用。而并不是 AlertDialog.Builder.对于此会不会出现同样问题,尚未验证
附上测试源码:见下一章节
0 0
- AlertDialog与Dialog的区别以及一个奇怪的问题1
- AlertDialog与Dialog的区别以及一个奇怪的问题2
- 一个奇怪的问题-1
- 一个奇怪的问题
- 一个奇怪的问题
- 一个奇怪的问题
- 一个奇怪的问题
- 自定义AlertDialog,以及解决自定义Dialog中EditText不能弹出输入法的问题
- AlertDialog 与 PopupWindow的 区别
- innerHTML的一个奇怪问题
- 一个ssh的奇怪问题。。。
- 一个很奇怪的问题
- 一个很奇怪的问题
- 一个奇怪有趣的问题
- 一个奇怪的tcp问题
- 一个很奇怪的问题
- 一个hash_map的奇怪问题
- 一个奇怪的CRASH问题
- PHP 重写读取文件,适用多域名的情况!
- Intersection of Two Linked Lists--leetcode
- 【Qt开发-模拟电商网站】模态与非模态窗口
- request.getQueryString()的意思
- 策略模式
- AlertDialog与Dialog的区别以及一个奇怪的问题1
- windows8.1 explorer.exe win+E 出现“该文件没有与之关联的程序…………”解决办法
- makefile详解 函数 foreach if call origin shell
- 7. Dubbo原理解析-与spring融合
- 20141201股票账户总结
- ubuntu 更改主机名
- java LinkedList
- 什么是WDS功能?桥接模式和中继模式又有什么区别?
- esay UI datagrid 行点击 编辑 出现 保存跟取消