1.显式跳转

protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
bt1= (Button) findViewById(R.id.btn_jumptoB);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 显式
Intent intent=new Intent(AActivity.this,BActivity.class);
// Intent intent=new Intent();
intent.setAction("sankuai.com");
Bundle bundle=new Bundle();
bundle.putString("name","lijing");
intent.putExtras(bundle);
startActivityForResult(intent,10086);
}
}); }

2.隐式跳转

protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
bt1= (Button) findViewById(R.id.btn_jumptoB);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 显式
// Intent intent=new Intent(AActivity.this,BActivity.class);
// 隐式
Intent intent=new Intent();
intent.setAction("sankuai.com");
Bundle bundle=new Bundle();
bundle.putString("name","lijing");
intent.putExtras(bundle);
startActivityForResult(intent,10086);
}
});
} Manifest文件中针对目标activity
<activity android:name=".jump.BActivity"
android:label="B">
<intent-filter>
<action android:name="sankuai.com" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity> 3.把数据传递到目标activity
发:
protected void onCreate(@Nullable Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
bt1= (Button) findViewById(R.id.btn_jumptoB);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(AActivity.this,BActivity.class);
Bundle bundle=new Bundle();
bundle.putString("name","lijing");
intent.putExtras(bundle);
startActivityForResult(intent,10086);
}
}); }
收:
在目标activityz中
String name=getIntent().getStringExtra("name"); 4.返回数据给上一个活动
public void onClick(View view) {
Intent intent=new Intent(AActivity.this,BActivity.class);
Bundle bundle=new Bundle();
bundle.putString("name","lijing");
intent.putExtras(bundle);
startActivityForResult(intent,10086);--10086是requestcode
}
在目标activity中
buttonxx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent();
intent.putExtra("visitor","999999");
setResult(RESULT_OK,intent);--RESULT_OK是resultcode     finish();
    }
});
在BActivity被finish()销毁以后,AActivity会调用
onActivityResult方法,所以需要重写这个方法来接收来自B的传递数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode){
case 10086:
if (resultCode==RESULT_OK){
String result=data.getStringExtra("visitor");
Log.d("visitor",result);
}
break;
} 总结:
startActivity只能传递给目标activity数据
startActivityForResult:既能传递数据,也能从另一个activity中回调数据给自己,如果两种都需要,可以直接使用
startActivityForResult。
												

Activity之间的跳转和数据传输的更多相关文章

  1. 实现android activity之间的跳转

    android程序一般不会只有一个activity,会碰到activity之间的跳转.以下是使用Intent做应用程序内部的activity做跳转.比如,应用程序第一个activity是: 点击“下一 ...

  2. 杂记之activity之间的跳转

    代码结构图 manifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xml ...

  3. Android activity之间的跳转和数据传递

    1.Activity之间的跳转 并且 传递数据 A Activity进行的操作 Intent intent = new Intent(context, B.class); intent.putExtr ...

  4. Android 写一个Activity之间来回跳转的全局工具类(主要是想实现代码的复用)

    废话不多说了,直接上代码,相信大家都能看得懂的. 一.主要工具类 package com.yw.chat.utils; import android.app.Activity; import andr ...

  5. 安卓欢迎界面和activity之间的跳转问题

    使用安卓的UI界面,就不得不了解activity,由于actvity就像是一个form表单一样,全部的UI都呈如今这里,他能够承载全部的UI控件. INtent就是一个中继站一样.他负责组件之间的沟通 ...

  6. Android笔记(三) 使得Activity之间可以跳转---Intent

    什么是Intent 一个APP肯定不单单由一个Activity构成,我们在使用过程中,经常需要在多个Activity中跳转,Android中Intent可以帮我们来完成在各个Activity中跳转的功 ...

  7. 利用onNewIntent避免Activity之间的跳转传值多次实体化

    onNewIntent 需要注意的是: 1.通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统也会创建一个新的Activity实例.为了不让Acti ...

  8. Activity之间的跳转

    /* * 触发按钮bt1跳转到另一个Activity */ bt1.setOnClickListener(new OnClickListener() { @Override public void o ...

  9. Activity之间定时跳转

    起源:很多应用在打开时,首先会加载欢迎页面,经过几秒后再跳转到主页面. 下面,我通过两种不同的方式来实现页面的定时跳转. 第一种方式: 通过Timer类的schedule方法. 实现从MainActi ...

随机推荐

  1. JavaScript局部变量变量和函数命名提升

    之前接触了一些javascript局部变量命名提升的问题但是一直没有总结今天特地好好总结一下 变量提升 一个变量的作用域是程序源代码中定义的这个变量的区域.全局变量拥有全局作用域,在javascrip ...

  2. 47.Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(2)

    查看Odoo产品分析系列--目录 Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(1) 4 添加自定义字段 定制odoo的最普通的原因就是指定到公司的附加信息.如果您正在运行一 ...

  3. jQuery元素操作

    jQuery中创建元素及追加元素 DOM中可以动态创建元素:document.createElement(“标签的名字”); jQuery中同样可以创建元素标签,并且返回的就是jQuery对象,可以直 ...

  4. Fixed-Point Designer(设计、仿真和分析定点系统)

    Fixed-Point Designer™ 提供开发定点和单精度算法所需的数据类型和工具,以在嵌入式硬件上进行性能优化.Fixed-Point Designer 会分析您的设计并提供建议的数据类型和属 ...

  5. MongoDB- 简单操作命令

    MongoDB是基于集合操作的数据库 1.进入与退出 mongo / exit 2.库操作 显示所有库: show dbs; 查看当前所在库: db; 切换&使用某个库: use db_nam ...

  6. Unity切换到安卓平台Shader丢失(opengl)

    Unity安卓平台shader平台丢失 Unity的工程切换到Android平台后,运行游戏出现shader丢失 解决办法:在Unity桌面图标的快捷方式后添加 -force-gles20 示例:&q ...

  7. 简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别

    POSIX 同步IO.异步IO.阻塞IO.非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下. ...

  8. 对多条件进行组合,生成笛卡尔积的用例集合的python代码实现

    做专项测试需要对一些因素进行组合的测试,这里组合起来后数据量可能很大,我们可以用python来代劳 代码有优化空间,目前先用着. ************************代码开始******* ...

  9. Pairwise 找到你的另一半

    都说优秀的程序员擅长面向对象编程,但却经常找不到另一半,这是为什么呢?因为你总是把自己局限成为一个程序员,没有打开自己的思维. 这是一个社群的时代啊,在这里你应该找到与你有相同价值观但又互补的另一半. ...

  10. omit 配合antd from使用 hoistStatics

    import omit from 'omit.js'; // 作用: 从已经存在的对象中过滤特定属性 const formProps = omit(this.props, [ 'prefixCls', ...