0

私は、製品を示すフラグメントの左側で構成されるメインアクティビティを持つアプリケーションを開発しています。選択内容に応じて、ランドスケープビューの右側に詳細情報が表示され、製品のプロパティを完全に指定できます。これは、アプリケーションがランドスケープモードで実行されている場合に当てはまります。向きがポートレートモードに変わる場合、ユーザーは最初に製品を選択し、次に個々の専用アクティビティによって製品のプロパティを指定します。各アクティビティには、前述のランドスケープビューのフラグメントが1つだけ含まれます。

実行時に画面を回転させると、問題が発生します。アプリケーションをポートレートモードで起動し、最初の製品(アクティビティA、フラグメントA)を選択したとします。次の画面(個別のアクティビティ、アクティビティBと呼びます)には、製品のプロパティ1を指定できるフラグメントBが含まれます。次に、画面を回転させます。次に、アプリケーションは最初の製品が選択されたランドスケープビューを表示し、製品構成専用のすべてのフラグメントが右側に表示されます。ランドスケープビューがこれまでに行われたことを適切に表示できるような状態をランドスケープビューが受け取るように、ユーザーが別のアクティビティ(つまり、フラグメントB、アクティビティB)で行った構成を保持できるソリューションはありますか?構成?

要約する:

私はアクティビティAにいて、製品のリストが含まれています(フラグメントA)最初に選択してから、新しいアクティビティBに移動します。ここで、フラグメントBが表示され、画面を回転してから、アクティビティAに戻ります。左側のフラグメントA(リスト)と右側のフラグメントB(とりわけ)フラグメントB。アクティビティBのフラグメントBの状態を、アクティビティAのフラグメントBで使用できるようにします。

私の質問を完全に特定できることを願っています。

TIAジェラルド

4

1 に答える 1

0

私が今考えることができる2つの解決策があります:

  1. この場合、2 つのアクティビティは忘れて、1 つだけでこのシナリオを解決してください。まさにこれらの要件を持つ複数のプロジェクトがありました。ポートレート モードでは、ViewSwitcher または ViewFlipper を使用して、フラグメント A またはフラグメント B をフルスクリーンで表示しました。ランドスケープでは、物事はあなたが説明したものと同じままです。このようにして、2 つのフラグメントが相互に通信できるため、フラグメント B はフラグメント A の選択を更新できます。

  2. .startActivityForResult() でアクティビティ B を開始すると、現在の選択内容を含むアクティビティ A の結果が提供される可能性があります。

于 2012-08-14T16:17:15.747 に答える