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. Git日常须知

    基本操作: git init 初始化环境 git add . 管理文件 git status 查看状态 git diff 文件名 查看修改内容 git commit -m '' 提交文件 git lo ...

  2. CODING 如何使用 CODING 研发管理系统来敏捷开发

    之前我们分享过<CODING 如何使用 CODING 开发 CODING>的文章,时过境迁,现在 CODING 研发管理系统已经上线了如持续集成.缺陷管理.测试管理等 DevOps 中的重 ...

  3. Django用户继承AbstractUser后密码为明文

    Django用户继承AbstractUser后密码为明文 其实本不应该有这个问题,却花了我很久的时间,因为还是初学阶段. 造成这个原因是因为在admin注册的生活没有指定Admin 在app的admi ...

  4. API测试工具SoapUI & Postman对比分析

    本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 最近公司要引入API测试工具,经过调查和了解,最终决定在SoapUI ...

  5. C# 实体转为json字符串

    C# 实体转为json字符串 Catalog cata = new Catalog(); cata.C_platformid = 0; cata.C_isnav = 0; cata.C_isvalid ...

  6. eclipse启动报.log错误

    解决办法: windows: D:\Program Files\eclipse\eclipse.ini 在文件末尾添加一行: --add-modules=ALL-SYSTEM

  7. Kafka Frequently Asked Questions

    This is intended to be an easy to understand FAQ on the topic of Kafka. One part is for beginners, o ...

  8. Java Web Token - JWT

    JWT认证过程:https://www.codetd.com/article/3602378 JWT官方文档:https://jwt.io/introduction/

  9. Ubuntu 18.04 安装 Apache, MySQL, PHP7, phpMyAdmin

    https://blog.csdn.net/sanve/article/details/80770675

  10. node-portfinder

    nstallation   $ [sudo] npm install portfinder   Usage var portfinder = require('portfinder'); portfi ...