画面遷移:オブジェクトの受け渡し

Android Tips

遷移先Activityへオブジェクトを渡すこともできます。
ただし、受け渡しするオブジェクトはシリアライズ化できる必要があります。
シリアライズについての注意 → Serializableインタフェースの警告

受け渡しするオブジェクトのクラス:DataBean.java

import java.io.Serializable;

public class DataBean implements Serializable{
  private static final long serialVersionUID = 42L;
  public int example1;
  public String example2;
}

遷移元Activity:MyClass.java

import android.app.Activity;
import android.content.Intent;

public class MyClass extentds Activity{

  public void myMethod(){
    int requestCode = 1;
    DataBean dataBean = new DataBean();

    // NextPageへ値を渡し、画面遷移する
    Intent it = new Intent(MyClass.this,NextPage.class);
    it.putExtra("Serialize",dataBean);
    it.setAction(Intent.ACTION_VIEW);
    this.startActivityForResult(it,requestCode);
  }
}

遷移先Activity:NextPage.java

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;

public class NextPage extentds Activity{

  public void onCreate(Bundle savedInstanceState){
    // MyClassからの値を受け取る
    Intent it = this.getIntent();
    DataBean dataBean = (DataBean)it.getSerializableExtra("Serialize");
  }
}

参考: 遷移先へ値を渡す
参考: 遷移元へ値を返す
参考: ページをめくる

コメント