2

最近、アプリを更新して、ハニカム 3.0 の新しいフラグメント機能をサポートすることにしました。私のアプリケーションは現在、クリックされたリスト項目に応じて異なるアクティビティを開くリスト ビューで動作します。このチュートリアルのコードを適応させて、2 つのアクティビティのみで構成されるアプリを作成しましたが、クリックされたリスト項目に応じて、別のレイアウト xml を使用して 2 番目の「ビューアー」アクティビティが起動します。

残念ながら、すべての機能を備えた古いメソッドを呼び出す方法を理解できませんでした。古いアクティビティをすべてインポートしてからメソッドをビューアー アクティビティに呼び出す必要がありますか (これを正確に行う方法についてアドバイスが必要な場合があります)、またはすべてのメソッドを同じビューアー アクティビティに直接配置する必要があります (サイズを考慮してください)。これらのメソッド(ちなみに非常に大きい))。

すべてが前もって 2 つのアクティビティで機能するようになると、ここで示されているように、アプリを「フラグメント化」するという非常に単純なタスクになり ますもしそうなら、その方法を教えてください)

ありがとう

4

2 に答える 2

1

James が指摘したように、ビジネス ロジックをアクティビティからフラグメントに移動する必要があります。イベントを処理するために、リスナー インターフェイスを作成できます。CONTAINER アクティビティは、このインターフェイスを実装します。フラグメントはコンテナー アクティビティにアクセスできるため、必要なイベントの "ロジック" をコンテナー アクティビティに委任できます。このイベントの場合、アクティビティは、新しいアクティビティを起動するか、新しいフラグメントを表示/非表示にするかなどを決定します。

同様の質問がありました。質問と回答をご覧ください:こちら

アクティビティで複数のフラグメントが同じスペースを占有できるようにする方法があるかもしれないとは考えていませんが (もしそうなら、それがどのように行われたか教えてください)

アクティビティで複数のフラグメントが同じスペースを占有できるようにすることは可能だと思います。繰り返しますが、ここで答えを見てください...アクティビティの概念/範囲が少し変わったと思います。アクティビティには、ユーザーが単一の焦点を絞ったことを実行できるようにするさまざまなフラグメントを含めることができます。

于 2011-04-21T09:22:38.747 に答える
0

「すべての機能を備えた古いメソッドを呼び出す」という意味がわかりません。すべてのアクティビティ クラスをフラグメントとして書き直す必要があります。こちらのチュートリアルをご覧ください(非常に簡潔です)。基本的に、ListFragment と FrameLayout で構成されるアクティビティが必要になります。ListFragment は、選択された行に基づいて適切な Fragment に変更することにより、FrameLayout を更新します。

于 2011-04-11T14:54:08.307 に答える