Intent
Intent i=new Intent(当前Activity.this,目标Activity.class);
1.传单值
传入:
i. i.putExtra("名称","数据类型");
startActivity(i)
接收:
Intent i=getIntent();
String val=i.getStringExtra("名字");
2.传Bunlde对象
传入:
(1)
Bunlde b=new Bunlde();
b.putString("键值名称","键值");
i. i.putExtra(b);
(2)
  i. i.putExtra("名称",b);
接收:
  Intent i=getIntent();
(1)
  Bunlde data=i.getExtras();
(2)
  Bunlde data=i.getBunldeExtra("名称");
  String val=data.getString("键值名称");
  //键值不存在的时候,赋默认值
  String val=data.getString("键值名称","默认值");
3.传Model对象
方式一:Serializable:
  传入:
  public class UserModel implements Serializable{}
  i.putExtra("user", new UserModel(strAccount,"test",1));
  接收:
  UserModel user=(UserModel)i.getSerializableExtra("user");
  String userName=user.getUserName();
方式二:Parcelable:
  public class UserModel implements Parcelable {
    protected UserModel(Parcel in) {
      UserId = in.readInt();
      UserName = in.readString();
      Account = in.readString();
    }
    public static final Creator<UserModel> CREATOR = new Creator<UserModel>() {
      @Override
      public UserModel createFromParcel(Parcel in) {
        return new UserModel(in.readString(),in.readString(),in.readInt());
      }
      @Override
      public UserModel[] newArray(int size) {
        return new UserModel[size];
      }
    };
  private int UserId;
  public int getUserId() {return UserId;}
  public void setUserId(int userId) {this.UserId = userId;}
  private String UserName;
  public String getUserName() {return UserName;}
  public void setUserName(String userName) {this.UserName = userName;}
  private String Account;
  public String getAccount() {return Account;}
  public void setAccount(String account) {this.Account = account;}
  public UserModel(String strAccount,String strUserName,int id){
    this.Account=strAccount;
    this.UserId=id;
    this.UserName=strUserName;
    }
    @Override
    public int describeContents() {
      return 0;
    }
    @Override
    public void writeToParcel(Parcel dest, int flags) {
      dest.writeString(getAccount());
      dest.writeString(getUserName());
      dest.writeInt(getUserId());
    }
}
传入:
i.putExtra("user", (Parcelable) new UserModel(strAccount,"test",1));
接收:
UserModel user=(UserModel)i.getParcelableExtra("user");
String userName=user.getUserName();
4.传返回值
1.需要返回的界面
  Intent i=new Intent();
  i. i.putExtra("名称","数据类型");
  setResult(1,i);
  finish();
2.返回界面接收值
  startActivityForResult(i,0);//第一个为数据参数,第二个为请求代码参数
  加下面方法
  @Override
  //requestCode:请求代码
  //resultCode:返回的结果码
  //data:返回的结果数据
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    //处理返回回来的数据。
  }

android参数传递的几种方法的更多相关文章

  1. Chrome模拟手机浏览器(iOS/Android)的三种方法,亲测无误!

    大网站都有推出自己的手机访问版本页面,不管是新闻类还是视频网站,我们在电脑是无法直接访问到手机网站的,比如我经常访问一个3g.qq.com这个手机站点,如果在电脑上直接打开它,则会跳转到其它页面,一般 ...

  2. 用Fiddler可以设置浏览器的UA 和 手动 --Chrome模拟手机浏览器(iOS/Android)的三种方法,亲测无误!

    附加以一种软件的方法是:用Fiddler可以设置浏览器的UA 以下3种方法是手动的 通过伪装User-Agent,将浏览器模拟成Android设备. 第一种方法:新建Chrome快捷方式 右击桌面上的 ...

  3. Android传递数据5种方法

       Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示 ...

  4. android 一题多改系列——android 打电话实现两种方法

    在android开发中,用户能够拨打电话是最基本的需求.俗话说“条条大路通罗马”,实现拨打电话的方式有多种,今天,就提供最常用两种. 首先,拨打电话,对于用户来说,是一个耗费的操作,因此,需要一定权限 ...

  5. Android实现异步的几种方法

    在Android项目中,有经验的开发人员都知道,一些耗时的IO操作等都必须在子线程中去操作,那么可以有哪些方法来开启子线程呢,一般可以使用Java中自带的几种方法,也可以使用Andorid特有的一些类 ...

  6. android 图片叠加效果——两种方法

    效果图: 第一种: 第二种: 第一种是通过canvas画出来的效果: public void first(View v) { // 防止出现Immutable bitmap passed to Can ...

  7. python中函数参数传递的几种方法

    转自  http://www.douban.com/note/13413855/ Python中函数参数的传递是通过“赋值”来传递的.但这条规则只回答了函数参数传递的“战略问题”,并没有回答“战术问题 ...

  8. android 图片叠加效果——两种方法的简介与内容 ,带解决Immutable bitmap passed to Canvas constructor错误

    第一种是通过canvas画出来的效果: public void first(View v) { // 防止出现Immutable bitmap passed to Canvas constructor ...

  9. PHP页面间参数传递的四种方法详解

    2016-04-16 定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用.------------------------ ...

随机推荐

  1. 《Shell脚本学习指南》学习笔记之自定义函数

    Shell的函数在使用之前必须先定义,定义格式: [ function ] funname [()] { action; [return int;] } 可以带function fun()定义,也可以 ...

  2. Spark数据本地化-->如何达到性能调优的目的

    Spark数据本地化-->如何达到性能调优的目的 1.Spark数据的本地化:移动计算,而不是移动数据 2.Spark中的数据本地化级别: TaskSetManager 的 Locality L ...

  3. 【Unity优化】构建一个拒绝GC的List

    版权声明:本文为博主原创文章,欢迎转载.请保留博主链接:http://blog.csdn.net/andrewfan 上篇文章<[Unity优化]Unity中究竟能不能使用foreach?> ...

  4. HTML5周记(一)

    各位开发者朋友和技术大神大家好!博主刚开始学习html5 ,自本周开始会每周更新技术博客,与大家分享每周所学.鉴于博主水品有限,如发现有问题的地方欢迎大家指正,有更好的意见和建议可在评论下方发表,我会 ...

  5. Ionic2开发笔记(2)创建子页面及其应用

    1. 当你第一次产生ionic2应用程序,这是生成的项目结构 ├── ├── config.xml      这包含配置应用程序的名称,和包名,将被用于我们的应用程序安装到一个实际的设备. ├── h ...

  6. ViewPager详解

    一.ViewPager简介 ViewPager 如其名所述,是负责翻页的一个 View.准确说是一个 ViewGrop,包含多个 View 页,在手指横向滑动屏幕时,其负责对 View 进行切换.为了 ...

  7. Microsoft Visual Studio 2017 安装过程

    工欲善其事必先利其器 Visual Studio 2017 正式版官方下载地址:https://www.visualstudio.com/downloads/ 安装vs2017的时候最好关闭已打开的v ...

  8. Android -- 仿小红书欢迎界面

    1,觉得小红书的欢迎界面感觉很漂亮,就像来学习学习一下来实现类似于这种效果  原效果图如下: 2,根据效果我们来一点点分析 第一步:首先看一下我们的主界面布局文件视图效果如下: main_activi ...

  9. AndroidTest工程的自定义gradle task

    由于需要将assets目录的资源拷贝到设备sdcard中,然而我的工程是一个android test工程,而android test工程在编译阶段,不会把assets目录的资源打包成对应apk,而为了 ...

  10. 分享自己使用CSS的public

    body,ol,ul,h1,h2,h3,h4,h5,h6,p,th,td,dl,dd,form,fieldset,legend,input,textarea,select,td,figure{marg ...