Activity
が含まれています。NavigationDrawerは、そのフラグメントをジャグリングすることになっています。私の問題は、アプリケーションのすべての可能な画面で引き出しが利用可能でなければならないことです。私の唯一の活動であるMainActivityは、断片コールバックコードと様々なナビゲーション/ビジネスロジックで非常に乱雑です。NavigationDrawerのアクティビティは、フラグメントコールバックとアプリケーションビジネスロジックで混乱しています
アプリケーションが大きくなると、アクティビティをナビゲートするのが難しくなり、可能な代替アプローチについて考え始めました。新しいアプローチでは、オリジナルと同じ視覚的振る舞いを維持し、クラッタを除去する必要があります。
ナビゲーション・ドロワー・イベントの他に、ナビゲーション/ビジネス・ロジックも含む複数のフラグメントがあります。これにはMainActivityも処理されます。たとえば、フラグメントには3つ以上のボタンが含まれ、他のフラグメントを起動したり、クロスコンタミネーションのビジネスロジックを実行することができます。
MainActivityによって実装されたリスナーインターフェイスの結果として得られる量が増え、この瞬間の時点では20になります。見た目が良くないと感じるかもしれません。
メンテナンスを容易にするため、複数のアクティビティにデカップリングする可能性があります。これは、即座にフラグメントを変更する元のアプローチとは対照的に、引き出しが閉じられた後にのみ新しいアクティビティが開始されるため、リソース消費量が大きく、視覚効果がわずかにずれていることを示しています。
あなたはそれが悪い考えだと思いませんか?どのように改善することができますか?それとももっと良い解決策がありますか?
ありがとうございました。
UPD洗練された説明。
をやっている私は、問題のような種類で立ち往生し、ここに質問を投稿されました> http://stackoverflow.com/questions/17779915/open-android-navigation-drawer-from-an-activity-class 。解決策を試してみませんでしたが、機能するかどうか試してみてください。うまくいけばわかりません。私は断片であるいくつかの画面からだけ引き出しを開くことに終わった。 –
フェアポイント。視覚効果はどうですか?引き出しを閉じた後で初めて新しいアクティビティを表示する必要がありますか? – midnight
あなたは引き出しをクリックして新しい活動を開始したり、断片の1つを表示したりすることができますが、それは問題ではなく、選択時に自動的に閉じます。 –