您的位置:首页 > 其它

Activity-编写Activity

2015-05-31 08:09 267 查看
Android-编写Activity
一 创建新的Activity

1 创建Activity及相关视图文件Layout(View)

2 配置Androidmanifest.xml

3 重载onCreate(), 绑定Activity和layout(view)

setContentView工作机制:

Activity里面的setContentView调用->framework层中window这个抽象类的子类phonewindow中的setContentView去初始化xml界面元素

程序界面加载的方式:

方式一:压力泵inflater():

下面的两句代码功能相同

setContentView(R.layout.layout_activity1);

this.getWindow().setContentView(this.getLayoutInflater().inflate(R.layout.layout_activity1, null));

方式二:addView()->view()

4 为View(Layout)添加必要的组件

如何动态编码来控制界面:

建立界面控件树的概念,控件树层层嵌套的树状结构。

例如button是嵌套在linearlayout中的

常用到的方法是findViewById()根据R类中的id找到资源

5 在onCreat()中实现初始化业务逻辑

加入事件处理:

setOnClickListener,需要用到java匿名内部类

事件机制的要素:

事件的主体即发生的对象

事件的监听函数设置

事件的逻辑代码

二 Activity之间的切换以及传值
1 主Activity1与子Activity2之间切换

与正常的Activity间切换

Activity1:构建intent对象, 然后设置属性, 在startActivity;

Activity2:构建intent对象接收Activity1发送的intent对象,之后进行业务逻辑

与条件不完整的Activity间切换

在manifest文件中注册的新的Activity2的属性不完整,例如没有名字等,也可以指定系统自带的Activity,比如拨号界面

2 主Activity1与子Activity2之间传值

主Activity1传入值, Activity2接收值

Activity1:构建intent对象, 然后设置属性,含有某些值, 在startActivity;

Activity2:构建intent对象接收Activity1发送的intent对象,之后进行业务逻辑,接收值等

主Activity1接收Activity2的返回值 

Activity1:构建intent对象, 然后设置属性,含有某些值, 在startActivityForResult;

Activity2:构建intent对象接收Activity1发送的intent对象,之后进行业务逻辑,接收值,返回值setResult等,最后finish()关闭这个Activity2

Activity1:重写onActivityResult函数用来接受值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: