0

これが明らかな場合は申し訳ありませんが、私はandriodに非常に慣れていません(新しいことを学ぼうとして遊んでいるだけです)。

これはかなり一般的なことだと思いますが、最善の方法を見つけるのに苦労しています。

現在3つの活動をしています。オブジェクトのリストを表示する 2 番目のアクティビティを開始するメイン アクティビティと、最後に、選択したオブジェクトに変更を加えたいリスト アクティビティから開始される 3 番目のアクティビティ。リスト アクティビティと詳細アクティビティの両方がフラグメントをホストします。

選択したオブジェクトを保存し、詳細アクティビティ/フラグメントから取得する安全な場所はありますか? 主な活動が唯一の共通のリンクのようですが、その活動が破壊されていないことを期待できるかどうかはわかりません.

インテント経由で渡す必要がありますか? これはうまくいくようですが、あまりにも複雑に思えます。(オブジェクトをシリアル化し、アクティビティの結果として返す必要があると考えています)

最後の 2 つのリストと詳細アクティビティを 1 つのアクティビティに結合し、フラグメントを交換する必要がありますか? そうすれば、選択したオブジェクトを結合されたアクティビティに安全に保存できると思いますが、それは正しいですか?

4

1 に答える 1

0

それを行うための一般的で正しい方法:

(渡す) オブジェクトを作成し、そのオブジェクトの Parcelable インターフェイス () を実装してから、意図を持って渡す必要があります。intent.putExtra("identifier", youParcelable)

例:

新しいアクティビティの開始中にオブジェクトを追加します。

Intent intent = new Intent(getApplicationContext(),
yourActivityClass.class);
intent.putExtra("identifier", youParcelable);
startActivity(intent);

新しく開いたアクティビティのインテントからオブジェクトを取得します。

Object object = getIntent().getExtras().getParcelable("identifier");

ソース

于 2013-08-03T16:07:13.467 に答える