博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7th-Activity基础
阅读量:7054 次
发布时间:2019-06-28

本文共 4740 字,大约阅读时间需要 15 分钟。

第一部分:知识储备

一、结构

Activity主要负责创建显示窗口,一个Activity通常就代表了一个单独的屏幕。  它是用户唯一可以看得到的东西,一个activity要经历激活状态、运行状态、暂停状态、停止状态和终止状态,通过栈来管理的。

二、activity的实现

  创建时,都必须用extends关键字来继承Android中的android.app.Activity作为父类。

  一般情况下,所有的Activity都应该实现自己的onCreate()方法进行初始化设置,大部分还应该实现onPause()方法来准备终止与用户的交互,至于其他方法,则可以在需要时实现,当实现这些方法的时候,需要注意的是,一定要覆盖父类中的对应方法。

  在启动新的activity的时候,首先调用oncreat()方法,然后调用setContentView()方法,该方法的作用是根据activity_main.xml文件中的配置代码来设置activity的界面内容。该方法中所需的参数是R.layout.activity_main,其中R表示在创建项目时自动生成的R.java文件,该文件的代码不要手工修改。

  另一个固定语句是:super.onCreat(savedInstanceState)的功能是执行父类的onCreat构造函数,其中的savedInstanceState是当前Activity的状态信息。

三、启动另一个Activity

  一个activity可以启动另一个activity,在这里启动的activity被称为“宿主activity”,被启动的称为“随从activity”。

  宿主activity既能启动同一个应用程序下的其他activity,也可以启动其他应用程序下的其他activity。一般来讲,activity之间通过intent来传递消息的,两个函数可以实现,startActivity()和startActivitForResult(),通过startActivity()方式启动activity时,随从activity在关闭时不会给宿主activity任何返回值;然而通过startActivitForResult()方式启动时,关闭会给宿主返回一个值。

四、举例说明

 1、在activity中设置intent方法:

1 package com.example.ex03_09; 2  3 import android.support.v7.app.ActionBarActivity; 4 import android.os.Bundle; 5 import android.view.Menu; 6 import android.view.MenuItem; 7  8 import android.view.View; 9 import android.widget.Button;10 import android.content.Intent;11 12 public class EX03_09Activity extends ActionBarActivity {13 14     @Override15     protected void onCreate(Bundle savedInstanceState) {16         super.onCreate(savedInstanceState);17         setContentView(R.layout.activity_ex03_09);18         19         Button b1=(Button) findViewById(R.id.button1);20         b1.setOnClickListener(new Button.OnClickListener()21                 {22                    public void onClick(View v)23                    {24                        Intent intent=new Intent();25                        intent.setClass(EX03_09Activity.this, EX03_09_1Activity.class);26                        27                        startActivity(intent);28                        EX03_09Activity.this.finish();29                    }30                 });31     }32 33     @Override34     public boolean onCreateOptionsMenu(Menu menu) {35         // Inflate the menu; this adds items to the action bar if it is present.36         getMenuInflater().inflate(R.menu.ex03_09, menu);37         return true;38     }39 40     @Override41     public boolean onOptionsItemSelected(MenuItem item) {42         // Handle action bar item clicks here. The action bar will43         // automatically handle clicks on the Home/Up button, so long44         // as you specify a parent activity in AndroidManifest.xml.45         int id = item.getItemId();46         if (id == R.id.action_settings) {47             return true;48         }49         return super.onOptionsItemSelected(item);50     }51 }

2、修改相应的xml

1 
10 11
16 17
25 26 "27 28

3、new-新建activity

1 package com.example.ex03_09; 2  3 import android.view.View; 4 import android.widget.Button; 5 import android.content.Intent; 6  7 import android.support.v7.app.ActionBarActivity; 8 import android.os.Bundle; 9 import android.view.Menu;10 import android.view.MenuItem;11 12 public class EX03_09_1Activity extends ActionBarActivity {13 14     @Override15     protected void onCreate(Bundle savedInstanceState) {16         super.onCreate(savedInstanceState);17         setContentView(R.layout.activity_ex03_09_1);18         19         Button b2=(Button) findViewById(R.id.button2);20         b2.setOnClickListener(new Button.OnClickListener()21                 {22                    public void onClick(View v)23                    {24                        Intent intent=new Intent();25                        intent.setClass(EX03_09_1Activity.this, EX03_09Activity.class);26                        27                        startActivity(intent);28                        EX03_09_1Activity.this.finish();29                    }30                 });31     }32 33     @Override34     public boolean onCreateOptionsMenu(Menu menu) {35         // Inflate the menu; this adds items to the action bar if it is present.36         getMenuInflater().inflate(R.menu.ex03_09_1, menu);37         return true;38     }39 40     @Override41     public boolean onOptionsItemSelected(MenuItem item) {42         // Handle action bar item clicks here. The action bar will43         // automatically handle clicks on the Home/Up button, so long44         // as you specify a parent activity in AndroidManifest.xml.45         int id = item.getItemId();46         if (id == R.id.action_settings) {47             return true;48         }49         return super.onOptionsItemSelected(item);50     }51 }

4、修改xml

1 
11 12
17 18
26 27 28

5、效果呈现

点击后:

转载于:https://www.cnblogs.com/biyoner/p/5201493.html

你可能感兴趣的文章
Java执行JavaScript脚本破解encodeInp()加密
查看>>
3-SII--Android的SD卡文件读写
查看>>
聊聊titlebar和沉浸式那些事
查看>>
macOS mkdir: /usr/var: Operation not permitted
查看>>
LuaScriptCore v2.4.0 发布,移动端 Lua 桥接框架
查看>>
关于AppCompatAutoCompleteTextView使用总结
查看>>
上网搜了很多JQuery树型表格插件都不满意,决定自己写
查看>>
最新Django2.0.1在线教育零基础到上线教程(七)-7-完结
查看>>
彻底解决mysql中文乱码
查看>>
简单优化前端工程几种方式(上篇)
查看>>
Spring Cloud Spring Boot mybatis分布式微服务云架构(十二)返回JSON格式
查看>>
Python全栈 MongoDB 数据库(Mongo、 正则基础、一篇通)
查看>>
react native 开发常用优质第三方组件
查看>>
C# 操作Word文本框——插入表格/读取表格/删除表格
查看>>
Mybatis-Generator_学习_02_使用Mapper专用的MyBatis Generator插件
查看>>
云栖大会首设“科技脱贫”专场 ,20张会场门票等你来拿!
查看>>
Redis字符串类型内部编码剖析
查看>>
TensorFlow实战(一)-人工智能基础知识
查看>>
ubuntu16下安装metasploit的笔记
查看>>
JavaScript MVC 学习笔记(三)类的使用(中)
查看>>