1 使用intent.putExtra 传递int ,String 值
传值界面
Intent intent = new Intent(Morning.this, NoonActivity.class);
intent.putExtra("name", "小牧");
intent.putExtra("age",10);
startActivity(intent);
接受值介面
String name = getIntent().getStringExtra("name");
int age = getIntent().getIntExtra("age",0);
需要注意的是getIntExtra(name,defaultValue) ,name就是对应传值界面的key值,defaultValue是自己取的一个默认值,就是
如果没有传递int值 默认值就会显示了,
2 我们也可以使用Intent 传bean 数据
例如一个 bean如下
package com.hly.skip;
import java.io.Serializable;
public class SkipBean implements Serializable{
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
传值界面代码如下
SkipBean skipBean = new SkipBean();
skipBean.setName("小牧");
skipBean.setSex("男");
Intent intent = new Intent(SkipActivity.this,SkipTwoActivity.class);
intent.putExtra("msg",skipBean);
startActivity(intent);
接受值界面
SkipBean msg = (SkipBean) getIntent().getSerializableExtra("msg");
Toast.makeText(this, msg.getName()+","+msg.getSex(), Toast.LENGTH_SHORT).show();
3 使用Bundle
传值界面
Intent intent = new Intent(Morning.this, NoonActivity.class);
Bundle bundle = new Bundle();
bundle.putString("name", "小牧");
bundle.putInt("age",10);
intent.putExtras(bundle);
startActivity(intent);
这个intent使用的putExtras 后面多一个s ,跟intent不一样
接收值界面
Bundle nbundle = getIntent().getExtras();
String name = nbundle.getString("name");
int age = nbundle.getInt("age");
4 使用bundle 传递bean
首先需要写一个bean 如下
package com.hly.progressbar;
import java.io.Serializable;
public class Person implements Serializable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
传值界面
private void initView() {
final Person person = new Person();
person.setName("小牧");
person.setAge(18);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Morning.this, NoonActivity.class);
Bundle mBundle = new Bundle();
mBundle.putSerializable("value", person);
intent.putExtras(mBundle);
startActivity(intent);
}
});
}
接收值界面
Person person = (Person) getIntent().getSerializableExtra("value");
Log.e("========xiaomu",person.getName());
Log.e("========xiaomu",person.getAge()+"");