向下一个活动传递对象类型数据 Serializable

一、 定义一个Student类:


import java.io.Serializable;
//导入的包
public class Student implements Serializable {

//实现 Serializable ,是为了将对象序列化,之后才可以传递。
    public String name;
    public int age;
}

实现 Serializable接口 ,是为了将对象序列化,只有序列化之后才可以传递。如果对象没有实现Serializable接口,在传递数据时就会报红,出现编译错误。

另外,传递的对象里的对象也要实现Serializable接口。否则就会抛出java.lang.RuntimeException异常。

二、在Activity里接收使用。(getcontent活动里)

  Student student=new Student();
  student.name=name;
  student.age=20;
  Intent intent = new Intent(getcontent.this,gettext.class);
  intent.putExtra("student",student);
  startActivity(intent);

在intent点方法时要选择对应 Serializable类型方法。

三、接收对象类型数据。(gettext活动里)

Student s = (Student)getIntent().getSerializableExtra("student");
TextView textView = findViewById(R.id.tv1);
textView.setText(s.name);
TextView textView1=findViewById(R.id.textView2);
textView1.setText( String.valueOf(s.age));

 1、使用getSerializableExtra方法来接收对象类型数据。并且要将其强制转换为相应的对象类型(Student)。

2.setText方法接收的是String类型参数,如果是其他类型的数据,需要转化后再传入。

猜你喜欢

转载自blog.csdn.net/qq_58451437/article/details/126627475
今日推荐