千家信息网

如何进行Activity的启动与关闭

发表于:2025-11-17 作者:千家信息网编辑
千家信息网最后更新 2025年11月17日,如何进行Activity的启动与关闭,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一:启动1:直接启动 (startActivity)◆
千家信息网最后更新 2025年11月17日如何进行Activity的启动与关闭

如何进行Activity的启动与关闭,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一:启动

1:直接启动 (startActivity)

◆首先声明Intent对象指定启动源及启动目标,然后让Intent对象作为startActivity方法的参数完成启动。

◆实现:

Intent i = new Intent(MainActivity.this,Act2.class);//启动源,启动目标startActivity(i);   //直接启动的方法

2:携值启动 (startActivity)

◆首先声明Intent对象指定启动源及启动目标,调用Intent对象的putExtra方法,以键值对的形式携带数据,然后让Intent对象作为startActivity方法的参数完成启动

◆实现:

(1)主Activity

Intent i = new Intent(启动源.this,启动目标.class);                i.putExtra("键的名称", "值");                startActivity(i);

(2)目标Activity

String val = getIntent().getStringExtra("键的名称");//取得传过来的值

3:带返回值的启动 (startActivityForResult)

在某些场景下,我们需要从A界面跳转携带数据到B界面,在B界面做一些处理后,在带着返回值回到A界面已完成相应操作,这是我们需要带返回值的启动。

◆具体过程如下:

(1)主Activity,创建Intent对象,指明启动源及启动目标

(2)主Activity,调用Intent对象的putExtra方法,以键值对的形式携带数据

(3)主Activity,调用startActivityForResult方法,参数有两个,第一个为Intent对象,第二个为requestCode,为int类型,为了判断是哪个界面触发的动作

(4)目标Activity,创建空的Intent对象,调用putExtra方法,以键值对的形式储存数据

(5)目标Activity,准备数据,此时只是准备数据,还没有传送,只有finish界面之后才触发启动。setResult方法,两个参数,第一个resultCode,标志是那个界面返回的结果,第二个参数Intent对象

(6)目标Activity,终止目标Activity,finish方法执行之后,出发了返回值启动

(7)主Activity,重写onActivityResult方法,通过对参数值的比较,来执行不同的操作

◆具体实现

(1)主Activity通过按钮实现返回值启动

public class MainActivity extends Activity {    private Button button;//声明按钮    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button = (Button) findViewById(R.id.button1);//根据id查找按钮        button.setOnClickListener(new OnClickListener() {//添加监听                                                                                                                                             @Override            public void onClick(View arg0) {                Intent i = new Intent(MainActivity.this,Act2.class);//定义Intent对象,指明源于目标                                                                                                                                                     startActivityForResult(i, 1);       //带返回值的启动方式                }        });    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        switch (requestCode) {//判断是那个界面返回的动作        case 1:            switch (resultCode) {//判断是哪个返回值            case 1:                System.out.println(data.getStringExtra("act2"));                break;            default:                System.out.println("resultCode值不匹配");                break;            }                                                                                                                                             break;        default:            System.out.println("requestCode值不匹配");            break;        }        super.onActivityResult(requestCode, resultCode, data);    }                                                                                                                         }

(2)目标Activity

public class Act2 extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.act2);        Intent i = new Intent();//空Intent对象        i.putExtra("act2", "我是act2");//储存数据        setResult(1, i);//准备数据        finish();//终止Activity                                                                                                                                                                                                                                              }}

◆结果:在控制台输出返回来的值

08-21 13:34:50.777: I/System.out(451): 我是act2

二:关闭

1:关闭自身(finish)

finish方法用来当Activity完成所有任务且需要关闭的情况时调用。这个方法一旦被执行,Activity将执行生命周期中的onDestory方法,因此我们可以把资源回收的操作放在onDestory里,调用finish方法,间接的调用onDestory方法,已达到关闭Activity的目的。

2:关闭其他Activity(finishActivity)

finishActivity用来根据参数requestCode的值来决定关闭哪个Activity。能被该方法关闭的Activity可以有多个,但是这些Activity必须由带返回值的启动方式。

看完上述内容,你们掌握如何进行Activity的启动与关闭的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

方法 对象 目标 数据 界面 参数 形式 按钮 准备 两个 内容 动作 名称 方式 更多 结果 问题 不同 束手无策 为此 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 长宁区市场软件开发管理系统 山西硕成软件开发有限公司 有哪些mysql数据库 黑户上数据库的影响吗 数据库中如何创建基础表 vb数据库访问技术有哪些 互联网金融运营模式中的金融科技 达梦数据库删除xml文本 新人租三年云服务器多少钱 楚留香每个手机服务器不一样 软件开发外包付款比例 大型结算软件开发 汇力无线网络技术有限公司 榆林市网络安全周 wlam网络安全标准 网络科技与网络技术的区别 计算机国三网络技术大纲 合肥龙旭网络技术 拓基 风电场网络安全监测装置 5e无法在安全服务器商游戏 小学网络安全宣传标语图片 网络安全法 的特征有什么 如何获得seer数据库 全民k歌服务器超时了 人大金仓数据库是什么类型 淘宝租服务器怎么样 通信工程学习网络技术吗 数据库导入前台 安全监管分级分类建立数据库 产品需求规格说明书数据库描述
0