2017-04-03 7 views
0

私はいくつかのフラグメントクラスがあるアプリケーションで作業していますが、アプリケーションでは2つの方法で開くことができます。最初の方法はメインフロー、第2の方法はナビゲーションドローです。条件のチェックにEnumを使用

したがって、ナビゲーション・ドロワからフラグメントが呼び出されたときに、それが何らかのタスクを実行し、メイン・フローからコールされている場合は、別のタスクが実行されます。

コンテキストを確認するにはどうすればよいですか? Enumクラスを使用する可能性はありますか?

注:

  1. 私はテントを通じてハードコードされた値を送信する必要はありません。
+0

入れていなくても可能ではないと思います。類似の質問:http://stackoverflow.com/questions/11529529/how-to-check-which-intent-started-the-activity –

+0

すべては、さまざまな状況でフラグメントをどのように開始するかによって異なります。 –

+0

何人かがEnumを使用するように言いました。だから私はこの質問をしています.... –

答えて

4

まず、Android環境でenumを使用しないでください。好ましくは、@IntDef,@StringDef。この背後にある主な理由は、リソースの無駄です。列挙型ははるかに多くのメモリを消費します。

Colt McAnlisが示しているように、in this perfmatters episodeでは、ほんのわずかな例で13倍以上のスペースが必要です。

第2に、達成したいのは、IntentまたはBundlesで行い、あるコンポーネントから別のコンポーネントにブール値を渡します。

関連する問題