关闭

Android四大组件之Activity(跳转与传值)

标签: Android Activity 跳转
149人阅读 评论(0) 收藏 举报

一、跳转

a,三种显式跳转

1,Intent intent = new Intent(本Activity.this,要跳转的Activity.class);(常用)

2,Intend intent =new Intent();

  intent.setClassName(本Activiy.this,"包名.类名.class");

3,ComponentName componetName=new ComponentName(本Activity.this,要跳转的Activity.class);

b,隐式跳转

方法:在AndroidManifest.xml文件中给要跳转的activity添加意图过滤器

具体实现:

1,在要跳转的Activity的清单文件下:

		<intent-filter>
    			<action android:name="name" />	//name是自定义的

   			 <category android:name="android.intent.category.DEFAULT" /> 
		</intent-filter>

		 2,在启动跳转的Activity内
		Intent intent=new Intent();
		intent.setAction(name);//上面要跳转的清单文件自定义的name
		StartActivity(intent);

二,Activity跳转传值

1,putExtra(**) 

例如:从A Activity 传到 B Activity

A:intent.putExtra("name","张三");

B:String name=getIntent().getStringExtra("name");


2,用bundle传值

例如:从A Activity 传到 B Activity

A:1,创建bundle

Bundle bundle = new Bundle();

2,在bundle中存值

bundle.putString("name","李四");

bundle.putInt("age",20);

3将bundle放入intent中(两种方法)

a种:intent.putExtra("arr",bundle) //arr为自定义

b种:intent.putExtras();


B:获取bundle方式有两种,与上面两种传值对应

1,,Bundle bundle=getIntent().getExtra("arr");

String name=bundle.getString("name");

int age=bundle.getInt("age");

2,Bundle bundle=getIntent().getExtras()

String name=bundle.getString("name");

int age=bundle.getInt("age");


用bundle传对象

1,建一个实体类A,对A实现序列化(注意)

2,传值

Intent intent=new Intent(自己的Activity.this,要传值的Activity.class);
Bundle bundle=new Bundle();
bundle.putSerializable("键值",A类对象);
intent.putExtras(bundle);
startActivity(intent);

3,接收
Bundle bundle=getIntent().getExtras();
A a= (A) bundle.get("键值");




3,带值回传

例如:从A Activity 跳转到 B Activity 从 B Activity 向 A Activity回传

1,A中定义一个intent,给intent存值

StartActivityForResult(intent,请求码);

2.B中定义一个intent,给intent存值

setResult(应答码,intent);

3,重写onActivityResult方法(必须在onCreate方法外)

当requestCode和resultCore同时满足时传值



2
0
查看评论

Android Activity之间的跳转与传值(回传)

应用场景: 在Android的开发过程中,有时需要进行Activity之间的跳转,在页面跳转的过程中,有时需要传递指定的参数数据过去,例如:信息发布app返回查询条件的需要,为此,就需要了解这方面的技术与实现方式。 知识点介绍: 在Android中Intent的作用,可以实现一个Activit...
  • ma_hoking
  • ma_hoking
  • 2014-05-10 12:18
  • 2462

深入剖析Android四大组件(一)——Activity生命周期详解

虽然如此,但即使你没有实现onSaveInstanceState()方法,也还是有一些Activity的状态通过Activity类默认实现的onSaveInstanceState()方法恢复。特别是,默认实现会为布局中的每一个视图调用onSaveInstanceState(),允许每一个视图提供它们...
  • liyuanjinglyj
  • liyuanjinglyj
  • 2015-07-25 19:37
  • 3028

自学Android之Activity:(三)使用Intent在Activity中跳转和传值(上)

在本篇中你将了解到: 1.常用的Button组件和TextView组件。 2.使用Intent在Activity中进行跳转。 3.在进行跳转动作时专递一些值。
  • cc_xz
  • cc_xz
  • 2017-03-10 12:01
  • 633

Activity 之间传值的几种方式

一、通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent)方法来传入一个Intent对象,这个Intent对象我们可以精确的指定我们需要跳转的A...
  • qq_33748378
  • qq_33748378
  • 2016-11-04 10:12
  • 3635

深入剖析Android四大组件(七)——Activity启动的4个阶段

在Activity的启动流程中,共有4个阶段: 1.第一阶段——启动信息翻译以及服务调用 2.第二阶段——Activity的相关处理 3.第三阶段——处理应用程序进程 4.第四阶段——显示应用程序并处理当前当前显示的Activity的生命周期。 我们用了一个简单的例子描述了Android启动Acti...
  • liyuanjinglyj
  • liyuanjinglyj
  • 2015-11-21 20:35
  • 5909

Android界面跳转传递参数封装

问题分析 或许大家看到标题Android界面跳转会觉得这个有什么好说的呢,无非就是使用startActivity(_this,_class) 和 Intent 的putExtra()来传递参数么!对,就是这么简单。 but,大家有没想过当界面需要不断的跳转和带多个参数的时候使用Intent的putE...
  • caption_deng
  • caption_deng
  • 2016-10-20 11:02
  • 2718

Fragment和activity的之间的数据传递以及页面跳转

今天要做一个功能,用Fragment显示从其所在的Acitivity1中获取到的数据。这个Activity1是从另一个带有参数Activity2跳转过来的,所以要获得的是这些参数。因为之前没遇到过,所以走了弯路。看到网上有一个Fragment和Activity之间通信的例子,就开始模仿着写了。什么在...
  • Leaning_wk
  • Leaning_wk
  • 2015-04-14 21:21
  • 2786

android 中 多个Activity 的跳转 与传值

最近在学习安卓,所以记录下自己学习的点滴。  我的理解就是每个activity就是类似iOS中的Controller. 在iOS中,我们控制器传值的方式也是各种各样。 下面就介绍下在安卓开发中, 控制器相互传值的几种情况。 //这个是acitvity 跳转 ...
  • zhonggaorong
  • zhonggaorong
  • 2016-03-22 17:55
  • 1440

Activity之间的跳转和回传值

Activity之间的跳转   (1)startActivity(intent);     //创建一个intent对象     Intent intent = new Intent();    ...
  • ZACH_ZHOU
  • ZACH_ZHOU
  • 2015-11-12 08:46
  • 660

两个Activity跳转到同一个Activity并传值

项目中遇到两个Activity,例如A、B,都向C传递值,值的结果不一样,但C接受的参数一样。这时,就需要一个判断条件来判断值是哪个页面传来的。 1、在B界面中intent中也要传数值,可以是intent.putStringExtra("from","A界面&qu...
  • u011961280
  • u011961280
  • 2017-03-20 20:36
  • 639
    个人资料
    • 访问:3860次
    • 积分:177
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类