备忘:Activity间传递数据

  1. 基本类型参数传递
    Activity间传递一些基本类型的数据可以直接进行传递,比如
    • 直接通过intent传递
    //发送数据方
    Intent intent = new Intent();
    intent.putExtra("username",username);
    intent.putExtra("userpass",userpass);
    intent.setClass(ThisActivity.this,TargetActivity.class);
    startActivity(intent);

    //接受数据方
    Intent intent = getIntent();
    String name = intent.getStringExtra("username");
    String pass = intent.getStringExtra("userpass);
* 通过Bundle传递
    //传入  
    Intent it = new Intent(this,typeof(OtherActivity));  
    Bundle bd = new Bundle();  
    bd.PutBoolean("isNiubi",true);  
    bd.PutInt("Id",123456);  
     bd.PutString("name","詹姆斯");  
    it.PutExtras(bd);  
    StartActivity(it);  
    //接收  
    Bundle bd = Intent.Extras;  
    int Id = bd.GetInt("Id");  
    string Name = bd.GetString("name");  
    bool niubi = bd.GetBoolean("niubi");  
  1. List对象传递
  //传送
  private List<String> myList;
  Intent intent = new Intent();
  intent.putExtra("myList", (Serializable) myList);
  intent.setClass(A.this, B.class);
  startActivity(intent);  //开始跳转
  // 接受
  Intent intent = this.getIntent();   
  Bundle bundle = intent.getExtras();  //获得全部数据
  myList= (List<String>) bundle.getSerializable("myList");      
  1. 一般对象传递
    1. 要传递的对象,实现Parcelable接口,Parcelable实现可以直接通过Parcelable插件实现。这样不用写代码

    2. 具体传递过程

//传送
  Intent intent = new Intent();
  intent.putExtra("myObj", myObj);  //放入对象数据
  intent.setClass(A.this, B.class);
  startActivity(intent);  //开始跳转
//接受
  Intent intent = this.getIntent();    //获得当前的Intent
  Bundle bundle = intent.getExtras();  //获得全部数据
  myObj = bundle.getParcelable("myObj");
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容