アプリ内の複数のアクティビティで1つのオブジェクトを使用できるようにする必要があります。同じオブジェクト。これを行う最善の方法は何ですか?
他のアクティビティからアクセスできるようにオブジェクトを「public static」にしようとしましたが、何らかの理由でこれではうまくいきません。これを行う別の方法はありますか?
ベストアンサー1
インテント オブジェクトを作成する場合、2 つのアクティビティ間でオブジェクトを渡すために次の 2 つの方法を利用できます。
クラスに実装できるのは区画可能またはシリアル化可能そうすれば、カスタム クラスをアクティビティ間で渡すことができます。これは非常に便利です。
私が使用しているコードの抜粋です
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);