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() {@Overridepublic 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()+"");