先定义一个类
public class send implements Serializable{//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; } public send(String name,int age)//构造函数 { this.name=name; this.age=age; } }
在主函数里
findViewById(R.id.btsendvalue).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i=new Intent(MainActivity.this,newacty.class);//新建一个传值对象 // i.putExtra("data","hello Mr.zheng,I'm android");//设置要传的值 // Bundle b=new Bundle(); // b.putString("name","zheng"); // b.putInt("age",22); // b.putString("sex","man"); // i.putExtras(b); i.putExtra("send1",new send("hello,MR.zheng,i'm your android asistant",22)); startActivity(i); } });
另一个activity里
Intent i= getIntent();//获得传过来的值 // Bundle data=i.getExtras(); tv=(TextView)findViewById(R.id.tv);//获得id为tv的这个控件并将它赋给tv这个变量; //tv.setText(String.format("name=%s,age=%d,sex=%s",data.getString("name"),data.getInt("age"),data.getString("sex")));//format为格式转化 //tv.setText(i.getStringExtra("data"));//设置tv的值为data里的值 send send1=(send)i.getSerializableExtra("send1"); tv.setText(String.format("send info(name=%s,age=%d)",send1.getname(),send1.getage()));
在另一个activity里接收了来自主函数传过来的函数。注释的东西不予理睬,以往调试代码