欢迎使用CSDN-markdown编辑器
来源:互联网 发布:淘宝销量额 编辑:程序博客网 时间:2024/05/18 00:35
AlterDialog
1 dialog显示时Actvity的状态还是在onResume状态,没有改变
2 AlterDialog在使用back按键时会返回到Activity,该dialog会dismiss,如果不做处理,有可能会触发窗体泄漏的问题(当dismiss时,后台还有线程在处理,线程处理后dismiss掉dialog,这样就会出现问题)。解决办法:diaglog最后添加一个监听器,来监听dismiss状态,出现dismiss状态后最好让窗口关闭,线程结束(如果有对dialog的处理,最好结束掉)。
3 当屏幕旋转的时候 整个流程通过log打印出
在onSaveInstanceState中保存需要保存的值,onRestoreInstanceStace中恢复保存的值。
屏幕旋转Activity的生命周期:
只显示竖屏: android:screenOrientation=”portrait”
只显示横屏: android:screenOrientation=”landscape”
需要特别注意的是在屏幕旋转的时候,activity会从新创建,会走上图的流程,父类Activity在onSaveInstancestate()中会执行restoreManagedDialog()保存Dialog的信息,因此需要在onPause()中做判断,如果是因为旋转屏幕,或内存不足等情况而重新创建Activity,我们需要先把dialog给dismiss或者removeDialog(),如果底部还有相应的线程在处理更新dialog的ui,我们也需要将其停掉。因为重新创建后相应的dialog和activity都会从新创建,和以前不是同一个实例,所以就算对其做操作也不会真正响应,而在界面显示的dialog只是因为没有dismiss而一直存在显示界面上,其绑定的activity实例已经销毁了,我们应该让其消失,避免出现更新不了新的dialog的ui问题。
总的来说,1AlertDialog在显示后,按返回键的时候也会消失,所以应该监听dismiss’的状态,做相应的事件处理,2屏幕旋转或内存不足等其他原因造成activity重新创建的时候,都要在其on Pause()中将dialog给removeDialog,线程结束,在onSaveInstanceState()中保存要重新显示的参数,在onResume 中让dialog显示
onRestoreInstanceState中恢复
4 显示列表
5 显示单选
6 显示多选
7 显示可以输入的
8 显示progressDialog
progressDiaglog 还需耀yonghanler 和线程来处理进度条的改变,以及相应的事件
9 显示联系人(contentProvider,获取系统中联系人)
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- quake3使用指南
- css父级div设置了透明度,子级也出现透明度的解决方法
- 端口映射及动态域名服务
- vim学习资料整理--插件
- Ueditor结合七牛云存储上传图片、附件和图片在线管理的实现
- 欢迎使用CSDN-markdown编辑器
- css3中创建动画的三种方式详解
- spark简介
- Git的使用四(工作区和暂存区)仅限Mac亲测
- 第七章 参数估计
- 根据规则跳转到指定的界面(runtime实用篇一)
- Mysql命令行添加用户
- node.js、npm的安装
- Android开发中,9-patch (九宫格)图片作为背景带来的问题