使用showdialog的时候就自动调用oncreatedialog用法吗
1个回答
展开全部
onCreateDialog方法及示例
Android Dev-Guide 推荐重写Activity.onCreateDialog()方法来创建Dialog,这样Dialog就归属于这个Activity了。使用方法是这样的,Activity.showDialog()激发Activity.onCreateDialog()创建Dialog,然后显示之,便于多个Dialog的统一管理。注意,以后再用Activity.showDialog()显示同一个Dialog时,则不会调用Activity.onCreateDialog(),而是调用Activity.onPrepareDialog(),使用上一次显示Dialog时的状态。即
第一次:showDialog() -> onCreatedialog()
以后: showDialog() -> onPrepareDialog()
一个Dialog一直被创建及作为Activity的一部分显示的时候,一般情况下,你应该使用回调方法onCreateDialog(int)创建Dialog,当你使用这个方法的时候,Android系统会自动的管理每一个Dialog的状态,并有效的控制着每个Dialog,同样的,每个Dialog也会继承Activity中的某些特性。就像当一个Dialog显示的时候,按下菜单键显示Activity定义的选项菜单或者使用音量键调整音视频音量的大小,当你想显示一个Dialog的时候,调用showDialog(int)方法,传递的参数是唯一能标识你想显示的对话框的整数。
当一个Dialog第一次被调用的时候,Android系统会调用你应该实例化Dialog的Activity的onCreateDialog方法,这个方法会启动你从showDialog(int)方法里面传递的那个ID参数所定义的Dialog,当你创建成功后,在方法的最后回返回这个Dialog。
在Dialog显示之前,Android也会调用回调函数onPripareDialog(int,Dialog),当你想在这个Dialog每次打开的时候一些属性得到改变,你可以定义这个方法,这个方法会在每次Dialog打开的时候被调用,onCreateDialog()只会在Dialog第一次打开的时候被调用,如果你没有定义onPrepareDialog(),每次返回的Dialog都是和第一次显示的Dialog一样,这个方法需要传递一个ID和在onCreateDialog()方法中创建的Dialog。
最好的定义onCreateDialog()和onPrepareDialog()中使用switch对传入的id进行下判断,每一个case对应着要启动的Dialog的ID
Android Dev-Guide 推荐重写Activity.onCreateDialog()方法来创建Dialog,这样Dialog就归属于这个Activity了。使用方法是这样的,Activity.showDialog()激发Activity.onCreateDialog()创建Dialog,然后显示之,便于多个Dialog的统一管理。注意,以后再用Activity.showDialog()显示同一个Dialog时,则不会调用Activity.onCreateDialog(),而是调用Activity.onPrepareDialog(),使用上一次显示Dialog时的状态。即
第一次:showDialog() -> onCreatedialog()
以后: showDialog() -> onPrepareDialog()
一个Dialog一直被创建及作为Activity的一部分显示的时候,一般情况下,你应该使用回调方法onCreateDialog(int)创建Dialog,当你使用这个方法的时候,Android系统会自动的管理每一个Dialog的状态,并有效的控制着每个Dialog,同样的,每个Dialog也会继承Activity中的某些特性。就像当一个Dialog显示的时候,按下菜单键显示Activity定义的选项菜单或者使用音量键调整音视频音量的大小,当你想显示一个Dialog的时候,调用showDialog(int)方法,传递的参数是唯一能标识你想显示的对话框的整数。
当一个Dialog第一次被调用的时候,Android系统会调用你应该实例化Dialog的Activity的onCreateDialog方法,这个方法会启动你从showDialog(int)方法里面传递的那个ID参数所定义的Dialog,当你创建成功后,在方法的最后回返回这个Dialog。
在Dialog显示之前,Android也会调用回调函数onPripareDialog(int,Dialog),当你想在这个Dialog每次打开的时候一些属性得到改变,你可以定义这个方法,这个方法会在每次Dialog打开的时候被调用,onCreateDialog()只会在Dialog第一次打开的时候被调用,如果你没有定义onPrepareDialog(),每次返回的Dialog都是和第一次显示的Dialog一样,这个方法需要传递一个ID和在onCreateDialog()方法中创建的Dialog。
最好的定义onCreateDialog()和onPrepareDialog()中使用switch对传入的id进行下判断,每一个case对应着要启动的Dialog的ID
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询