关闭

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

标签: Android Activity 跳转
92人阅读 评论(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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2086次
    • 积分:154
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类