Intent 跳转 传递list集合

1,280 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

下面讲的是传递list集合

注意:list传值的实体类用序列化

  • 先创建个实体类(等下测试用)
import java.io.Serializable;
//别忘了序列化 Serializable 
public class DemoBean implements Serializable {
    String xm;
    int age;

    public String getXm() {
        return xm;
    }

    public void setXm(String xm) {
        this.xm = xm;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
  • 第一个activity
//写个测试方法
    public void ToJump(){
        List<DemoBean> list=new ArrayList<>();
        //给list 添加 5 条数据
        for (int i=0;i<5;i++){
            DemoBean demoBean=new DemoBean();
            demoBean.setXm("花花"+i);
            demoBean.setAge(i);
            list.add(demoBean);
        }
        Intent intent=new Intent(this,MainActivity.class);
        intent.putExtra("list", (Serializable) list);
        startActivity(intent);
    }
  • 第二个activity页面接收
 Intent intent=getIntent();
 List<DemoBean> list= (List<DemoBean>) intent.getSerializableExtra("list");
 Log.e("TAG","---"+list.size());// list.size()==5

传递ArrayList集合和list一样

注意:实体类用序列化

  • 第一个activity
    public void ToJump(){
        ArrayList<DemoBean> arrayList=new ArrayList();
        for (int i=0;i<5;i++){
            DemoBean demoBean=new DemoBean();
            demoBean.setXm("花花"+i);
            demoBean.setAge(i);
            arrayList.add(demoBean);
        }
        Intent intent=new Intent(this,MainActivity.class);
        intent.putExtra("arrayList",arrayList);
        startActivity(intent);
    }
  • 第二个activity页面接收
Intent intent=getIntent();
ArrayList<DemoBean> arrayList= (ArrayList<DemoBean>) intent.getSerializableExtra("arrayList");
Log.e("TAG","--------"+arrayList.size());// 有5条数据 list.size()==5

传递实体类

  • 第一个activity
public void ToJump(){
    DemoBean demoBean=new DemoBean();
    Intent intent=new Intent(this,MainActivity.class);
    intent.putExtra("demoBean",demoBean);
    startActivity(intent);
}
  • 第二个activity页面接收
Intent intent=getIntent();
DemoBean demoBean= (DemoBean) intent.getSerializableExtra("demoBean");
//接收到一整个实体类

传递String

  • 第一个activity
 Intent intent = new Intent(this,MainActivity2.class);
 //设置传递键值对
 intent.putExtra("name","花花");
 //激活意图
 startActivity(intent);
  • 第二个activity页面接收
 Intent intent = getIntent();
 //获取传递的值
 String name= intent.getStringExtra("name");
 //name的值是:花花
 
  • 以上是全部内容