1. ホーム
  2. android

[解決済み] Androidで、あるアクティビティから別のアクティビティにオブジェクトを渡すにはどうすればよいですか?重複

2022-07-26 10:20:50

質問

アプリ内の複数のアクティビティで1つのオブジェクトを使用できるようにする必要があり、そのオブジェクトは 同じ オブジェクトである必要があります。これを行うための最良の方法は何でしょうか?

他のアクティビティからアクセスできるように、オブジェクトを "public static" にしようとしましたが、何らかの理由でこれはうまくいきません。これを行う他の方法はありますか?

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

インテントのオブジェクトを作成する場合、以下の2つの方法を利用することができます。 2つのアクティビティ間でオブジェクトを受け渡すための

putParcelable

putSerializable

あなたのクラスには、以下のどちらかを実装することができます。 パーセラブル または シリアライザブル . そうすれば、アクティビティ間でカスタムクラスを受け渡しすることができます。私はこれがとても便利だと感じています。

私が使っているコードのスニペットを以下に示します。

CustomListing currentListing = new CustomListing();
Intent i = new Intent();
Bundle b = new Bundle();
b.putParcelable(Constants.CUSTOM_LISTING, currentListing);
i.putExtras(b);
i.setClass(this, SearchDetailsActivity.class);
startActivity(i);

そして、新しく開始されたアクティビティでは、コードは次のようになります...

Bundle b = this.getIntent().getExtras();
if (b != null)
    mCurrentListing = b.getParcelable(Constants.CUSTOM_LISTING);