论坛首页 移动开发技术论坛

Activity生命周期和对话框编辑

浏览 2916 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-07-08  
在一个Android程序中至少得有一个Activity,Android是一个对象,也就是可以想象成有生命形式的存在的一种方式,生命有生老病死的过程,伴随着Activity的一系列生命周期的方法决定着Activity的存不存在。这几个方法分别是长成这样的:onCreate();onStart();onResume();onPause();onStop();onDestroy();onRestart();根据单词就能大概判断出这几个方法是干什么用的。
  当一个Activity第一次被创建的时候就会调用onCreate();这个时候可以初始化数据,绑定LIstView,这个是帮助文档上如是说。
  onStart();是当一个Activity可以被用户看到的时候就会调用onStart();
  onRestart();当再次启动的时候就会调用这个方法;
  onResume();在Android应用程序里面所有的Activity都存放在一个Activity栈里面,所谓的栈就是遵循LIFO(last in first out)规律的存储空间,对于这段Activity的存储空间只有两种操作,压栈弹栈,所以对于放在最顶上的Activity总是最先被看到。onResume();就是当这个Activity被置于栈顶的时候调用的方法;
  onPause();当启动另一个Activity的时候会调用此方法,新的Activity会把旧的Activity遮住,此时就是被遮住那个Activity调用onPause();如果时间久了原来被遮住的Activity都会消失可以理解位线程挂起的状态。
  onStop()跟onPause();方法的区别就在于当一个Activity被完全遮住的时候就会调用onStop()方法,当前Activity只被局部遮住,被遮住的Activity已经用鼠标点不到的情况下就会调用onPause();
   onDestroy();毫无疑问最后的这个方法是销毁这个Activity,同样的finish();这个方法同样会调用onDestroy()方法销毁Activity
  最后来看看对话框:
   写过javascript的哥们姐们都应该知道在那个里面最好的调试bug的工具就是alert();弹出来看看里面到底是些什么东西既方便又快捷还直观。不知道Android里面的对话框能不能用来作调试。不管能不能先学会了弹对话框肯定没坏处。
  一样的新建Android项目,名字随便取自己人的就好,建好了以后第一件事就是该确定用哪种方式来布局,布局有两种方式,一种是在布局.xml文件里面写好,然后再onCreate()方法里面设置setContentView();两种方式效果都是一样的,本人崇尚与在程序端new 对象,一个Button就是一个对象,java的万物皆对象就是这个意思。当然这个随个人喜好。
  虽然本人崇尚在程序段new对象,但是今天这个就是几个Button做测试练手的。
  在layout布局文件中写四个Button。分别是 弹出来两个Button的对话框,弹出来三个Button的对话框,和弹出来能输入文本的对话框,最后一个是个进度条的对话框。
  首先在类中定义四个int类型的变量取好名字,在onCreate()方法中得到四个Button ,也就是findViewById();得到以后分别设置点击事件,重写父类的onCreateDialog方法,传进来一个Id,假设点击的是第一个Button那就传1就来,第二个Button就传2,再创建Dialog对象,这个过程看上去很麻烦,这个掉那个那个调这个,有个简单的方法直接弹出对话框:
在一个按钮的点击事件里面这样写到:AlertDialog.Builder builder=new AlertDialog.Builder(context);builder就是一个Dialog对象,需要设置builder.setTitle();builder.setMsg();设置属性,然后 builder.show();就可以了;
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics