1. ホーム

[解決済み】Androidで、あるアクティビティから別のアクティビティにオブジェクトを渡す方法

2022-03-23 10:19:40

質問

のオブジェクトを送信する作業を行おうとしています。 顧客 クラスから Activity で表示し、別の Activity .

顧客クラスのコードです。

public class Customer {

    private String firstName, lastName, Address;
    int Age;

    public Customer(String fname, String lname, int age, String address) {

        firstName = fname;
        lastName = lname;
        Age = age;
        Address = address;
    }

    public String printValues() {

        String data = null;

        data = "First Name :" + firstName + " Last Name :" + lastName
        + " Age : " + Age + " Address : " + Address;

        return data;
    }
}

そのオブジェクトを、ある Activity を別の場所に移動し、そのデータをもう一方の Activity .

どうすれば実現できるのでしょうか?

どのように解決するのですか?

一つの方法は、カスタムクラスに Serializable インターフェイスを使用し、オブジェクトのインスタンスをインテントの追加で渡すには putExtra(Serializable..) のバリアントです。 Intent#putExtra() メソッドを使用します。

シュードコード :

//To pass:
intent.putExtra("MyClass", obj);

// To retrieve object in second Activity
getIntent().getSerializableExtra("MyClass");

注意:シリアル化の例外を避けるために、メインのカスタムクラスのネストした各クラスがSerializableインターフェースを実装していることを確認してください。例えば

class MainClass implements Serializable {

    public MainClass() {}

    public static class ChildClass implements Serializable {

        public ChildClass() {}
    }
}