2

私は2つのアクティビティがあるこのアプリケーションを構築しています。どちらも、タイトル用、コンテンツ用、タブ コントロール用の 3 つのフラグメントで構成されています。それは下の画像に示されています。

アプリのデザイン

最初のアクティビティは、いくつかのデータのヘッダー (アイテム名など)、検索、アプリ情報などのリストを表示するために使用されます。ユーザーがリスト内のアイテムを押すと、アプリは別のアクティビティに移動して、選択したアイテムの詳細を表示します。この「詳細」アクティビティには 6 つの異なるコンテンツ フラグメントがあり、ユーザーはタブ コントロール フラグメントのボタンを使用してそれらを切り替えます (選択した 1 つを表示し、他のすべてを非表示にすることで、コンテンツ フラグメントを切り替えました。これが正しい方法かどうかはわかりません。アプリなので、最初は頭に浮かびました:))。

そして、私がやりたいことは次のとおりです。詳細にいるときに左右にスワイプすると、アプリが前/次のアイテムの詳細に移動し、現在いたのと同じフラグメントに移動します(次のコンテンツフラグメントではありません) 、ただし、最初のアクティビティのリストの次の項目の詳細まで)。

これはどういうわけか可能ですか?私はそれを行う方法がまったくわからないので:)

4

1 に答える 1

2

そして、私がやりたいことは次のとおりです。詳細を確認して左/右にスワイプすると、アプリで前/次のアイテムの詳細に移動し、現在の同じフラグメントに移動します(次のコンテンツフラグメントには移動しません)。 、ただし、最初のアクティビティのリストの次の項目の詳細)。

左右にスワイプする場合は、ViewPagerウィジェットが必要になります。詳細アクティビティがどのように動作するかわからないため、2つのオプションを提供します。特定のフラグメントがユーザーによって現在表示されているフラグメントである場合にのみ、次/前のアイテムの詳細に切り替えられるようにしますか(6つのコンテンツフラグメントから、単一のアイテムのさまざまなデータが関連していると思います)?はいの場合、その目的のフラグメントで、フラグメントの現在のコンテンツ(コンテナーとしてのみ機能します)を次のように置き換えます。ViewPager実際のコンテンツにはネストされたフラグメントを使用します。ユーザーが前/次のアイテムの詳細の詳細に切り替えた後、残りの5つのコンテンツフラグメントの1つからそのアイテムのデータを突然表示したい場合は、データを更新して表示するために、更新メソッドが必要になります。現在のアイテム(aOnPageChangeListenerはここで役立ちます)。

2番目のオプションは、ユーザーが6つのコンテンツフラグメントのいずれかから左/右にスワイプできるようにする場合です。この場合、上記と同じ方法を使用しますが、これらの6つのフラグメントのそれぞれを変更します。

次/前のアイテムを表示するのは簡単です。データのある種の識別子(位置、ID)を取得し、使用済みデータ全体を取得して(最初のアクティビティのように)、その間を循環します。

于 2012-12-26T16:02:24.773 に答える