您的位置:首页 > 其它

Activity

2015-06-18 22:22 218 查看
一,Activity被创建出来之后,什么时候被实例化,方法什么时候被调用并不是我们决定的而是系统本身决定的。

创建的时候很简单,继承然后重写里面相应的方法,然后要注册。

setContentView这个方法的参数不仅仅可接受R.layout.main类型,还可以接受new DrawView(this)类型。

Activity中包含Window,调用setContentView的时候实际上调用的是Window的setContentView。Windowfuze显示VIew。

二,启动与关闭Activity

1,主Activity由系统启动

2,startActivity(android.content.Intent)
与finish(),直接跳转到另外一个Activity,当需要携带数据给下一个Activity的时候用Bundle


3,[code]startActivityForResult(Intent, int)与finishActivity(int requestCode)这个跳转将会返回新的Activity中的数据,因此原Activity中需要重写
onActivityResult(int, int, android.content.Intent)这个方法,这是一个回调方法,当新的Activity返回结果的时候这个方法就会被触发。在新的Activity中也要
setResuilt方法来梳理结果。


4,生命周期,比较简单,不说。

5,四中加载模式android:launchMode

1,standard:启动Activity的时候不会新建Task,但是会新建目标Activity,不管它是否已经存在栈中,不管是否是在栈顶

2,singleTop:与standdard类似,但是当目标Activity已经在Task栈顶的时候就不会再新建Activity,而是直接复用,所以是栈顶唯一

3:,singleTask:即Task栈中唯一,Activity在栈中只有一个实例

1,目标Activity的实例不存在,新建实例并且置于栈顶

2,目标Activity存在而且在栈顶,直接复用

3,目标Activity存在但是不在栈顶,把目标Activity的实例以上的Activity实例移除栈顶,令目标实例置顶。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: