回传值
来源:互联网 发布:新网互联域名登录 编辑:程序博客网 时间:2024/06/09 18:00
回传值
关键字
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 都可以自动生成
关键字
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 都可以自动生成
0 0
- 回传值
- 回传值
- Intent回传值
- Android 回传值
- Activity回传值
- startActivityForResult回传值
- showModalDialog回传值的问题
- showDialog回传值问题javascript
- 弹出页面回传值
- 弹出窗口回传值
- TabActivity回传值处理startActivityForResult(
- Android1.1 Activity02Acitvity回传值
- Activity回传值实例
- 回传值的获取
- activity之间回传值
- android界面回传值
- Activity回传值之onActivityResult
- js弹出页面回传值问题
- 数据库的简单查询和连接查询
- C++类之const
- Django笔记 解决找不到vcvarsall.bat的错误
- 你会写“atoi”吗???
- Java使用ThreadFactory来创建新的线程
- 回传值
- 使用mybatis的两种方式
- 通讯录的录入与显示
- 深入学习java并发编程:阻塞队列
- 基于R语言的文本挖掘技术
- Java IO - FileReader&FileWriter
- oracle trunc()函数的使用方法
- windows下 PyCharm安装scrapy
- Linux 默认目录结构