回传值

原创 2016年05月31日 21:57:24
回传值
    关键字
    requestCode(请求码)
    resultCode(回执码)
    data(数据 )其实就是intent 作为联系四大组件的枢纽,有它才能有数据
    
    发送端
    实现回传值得第一步
       startActivityForResult(intent,requestCode);//TODO 改换成startActivityForResult(intent,请求码)
    重写onActivityResult(int1,int2,intent)方法
    int1 是requestCode(请求码)
    int2 是resultCode(回执码)
    intent 是data(数据 )
    
      //TODO 重写onActivityResult(请求码,回执码,intent) 当有多个请求时,请求码是用来不同的请求,
    public void onActivityResult(int requestCode,int resultCode,Intent intent){
    
        super.onActivityResult(requestCode,resultCode,intent);
        
        switch(resultCode){//TODO 返回值 resultCode 用来决定使用case xxx
            case 111:
                String msg = intent.getStringExtra("MESSAGE");//TODO MESSAGE是回调的信息
                mEditText.setText("requestCode:"+requestCode+"resultCode"+resultCode);
                mEditText.append(msg);//TODO append添加多余信息
                break;
            case 222:
                String msg2 = intent.getStringExtra("MESSAGE2");//TODO MESSAGE是回调的信息
                mEditText.setText("requestCode:"+requestCode+"resultCode"+resultCode);
                mEditText.append(msg2);//TODO append添加多余信息
                break;
        }
    
    接受端
    设定返回值
      showaddress= (EditText)findViewById(R.id.intent_show_address);
      String str = showaddress.getText().toString()
    设定返回码
     resultCode = 111
     加载信息
     intent.putExta("msg",str);
     设定结果
      setResult(resultCode,intent);
      
       public void onClick(View view) {
        int id = view.getId();
        Intent intent = getIntent();
        String str = showaddress.getText().toString()+showbirth.getText().toString()+showsex.getText().toString();
        String str2 = showaddress.getText().toString()+showbirth.getText().toString();

        switch (id){
            case R.id.parameter_second_btn:
                resultCode = 111;//TODO 回执码,在返回时做判断
                intent.putExtra("MESSAGE",str);
                setResult(resultCode,intent);
                finish();
                break;
            case R.id.parameter_second_btn2:
                resultCode = 222;//TODO 回执码吧 成成
                intent.putExtra("MESSAGE2",str2);
                setResult(resultCode,intent);
                finish();
                break;
        }
在传递对象的时候
    对象应该实现接口Serializable或者接口Parcelable
    实现Serializable接口
    public class Student implements Serializable {
    String name;
    String birth;
    String sex;

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBirth() {
        return birth;
    }

    public void setBirth(String birth) {
        this.birth = birth;
    }

        实现接口Parcelable
    public class Teacher implements Parcelable {

    String name;
    String birth;
     String sex;
     Teacher(String name,String birth,String sex){
        this.name = name;
        this.birth = birth;
        this.sex = sex;
    }

    protected Teacher(Parcel in) {
        name = in.readString();
        birth = in.readString();
        sex = in.readString();
    }

    public static final Creator<Teacher> CREATOR = new Creator<Teacher>() {
        @Override
        public Teacher createFromParcel(Parcel in) {
            return new Teacher(in);
        }

        @Override
        public Teacher[] newArray(int size) {
            return new Teacher[size];
        }
    };

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeString(name);
        parcel.writeString(birth);
        parcel.writeString(sex);
    }
}    
    实现接口Parcelable看着挺多的其实,android studio 很强大,只要把开头public class Teacher implements Parcelable
    写出来,其他的android studio 都可以自动生成
    
   

Android中Activity之间的传值以及回传值

很多时候,我们将A中的数据,交由B处理!B处理完了之后,会将结果反馈A。 我们将A中的数据,交由B处理的过程叫做:传值 将B处理完了之后,会将结果反馈A叫做:回传值 在And...
  • Poison_H
  • Poison_H
  • 2015年02月01日 13:16
  • 3103

回传值

//回传    huichuan.setOnClickListener(new OnClickListener() { @Override public void onClick(View ...
  • sunyushen01
  • sunyushen01
  • 2014年11月21日 08:38
  • 135

Activity之间的跳转和回传值

Activity之间的跳转   (1)startActivity(intent);     //创建一个intent对象     Intent intent = new Intent();  ...
  • ZACH_ZHOU
  • ZACH_ZHOU
  • 2015年11月12日 08:46
  • 662

关于命令回传值的学习总结

命令回传值$?有两种:与 && 或 || cmd1 && cmd2  若
  • LinuxIPLinux
  • LinuxIPLinux
  • 2014年08月09日 11:05
  • 698

Intent回传值

Intent回传值:启动一个Activity,当启动的Activity关闭时,传回值回到原Activity。以下一个小程序演示回传值。 package com.itheima.smshelper; ...
  • wangzhaung
  • wangzhaung
  • 2015年01月21日 20:46
  • 353

jquery Colorbox 传值

colorbox是jquery的一个  1$(function(){   2 $(".class").click(function(){   3 var value=$(this).te...
  • monicholas
  • monicholas
  • 2014年08月02日 17:58
  • 1125

Android Intent传值和回传值

为了实现点击某个Actionbar弹出某个Dialog Or AnortherAvtivity进行参数设置,同时设置好的参数还可以返回当前主界面进行处理,此时会想到用Intent的传值问题。那么首先要...
  • xiaoxun2802
  • xiaoxun2802
  • 2017年04月11日 21:26
  • 742

block的简单回调传值

由于block的火热,让我这个菜鸟也不得不多了解一下block的基本用法,虽然我之前用的是protocal代理的方式在页面之间进行的传值。但是,block的火热让我不得不来写一个demo学习下,好了废...
  • Lu_Ca
  • Lu_Ca
  • 2015年11月19日 14:36
  • 1819

Android Activity之间的跳转与传值(回传)

应用场景: 在Android的开发过程中,有时需要进行Activity之间的跳转,在页面跳转的过程中,有时需要传递指定的参数数据过去,例如:信息发布app返回查询条件的需要,为此,就需要了解这方面的...
  • ma_hoking
  • ma_hoking
  • 2014年05月10日 12:18
  • 2468

多选框向后台传值,多选框的回显,对多选框的各种操作

1.多选框的回显: js:$(     function(){     var checkBoxAll =$("input[name^='checkbox_']");//获取前缀为checkbo...
  • liuqiangrxt
  • liuqiangrxt
  • 2017年04月27日 08:47
  • 4501
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:回传值
举报原因:
原因补充:

(最多只允许输入30个字)