Androidでオブジェクトをあるアクティビティから別のアクティビティに渡す方法 質問する

Androidでオブジェクトをあるアクティビティから別のアクティビティに渡す方法 質問する

私は顧客クラスのオブジェクトを 1 つから送信し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

どうすればそれを達成できるでしょうか?

ベストアンサー1

1 つのオプションとしては、カスタム クラスにインターフェースを実装させ、メソッドのSerializableバリアントを使用してインテント エクストラでオブジェクト インスタンスを渡すことが考えられます。putExtra(Serializable..)Intent#putExtra()

実際のコード:

カスタムモデル/オブジェクトクラスの場合:

public class YourClass implements Serializable {

カスタム モデル/クラスを使用する他のクラス:

//To pass:
intent.putExtra("KEY_NAME", myObject);

myObject は「YourClass」型です。別のアクティビティから取得するには、getSerializableExtra を使用して、同じキー名を使用してオブジェクトを取得します。また、YourClass への型キャストが必要です。

// To retrieve object in second Activity
myObject = (YourClass) getIntent().getSerializableExtra("KEY_NAME");

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

class MainClass implements Serializable {
    
    public MainClass() {}

    public static class ChildClass implements Serializable {
         
        public ChildClass() {}
    }
}

おすすめ記事