2012-04-04 7 views
7

現在、私はリソースファイル内にさまざまなフラグメントを定義し、それを含むアクティビティのonCreateメソッドに隠していますが、これは各フラグメントが定義する特性の1つであると考えているので、このアプローチに満足できませんそれ自身のために。XMLで状態を定義して隠れているフラグメントを開始することは可能ですか?

フラグメントをオブジェクト化しすぎているのか、それとも技術が欠けているのでしょうか?

おかげで、R

答えて

4

私は、これは、各断片は、それ自体のために定義する特性の一つであると予想されるように、私はこのアプローチに満足していませんよ。

私はその評価に同意しません。

フラグメントは、画面の小さな部分と、画面の小さな部分に完全に含まれるイベントを処理します。

フラグメントが他のフラグメントと並んでいるかどうかにかかわらず、アクティビティAまたはアクティビティBまたはアクティビティCがホストされているかどうか、現在表示されているかどうかなどはフラグメントの責任ではありません。その責任は、ホスティング活動(または、フラグメントが再利用された場合の活動)にあります。ホスティングアクティビティは、画面サイズと、特定のフラグメントを画面にロードするという点で何をすべきかを知っています。

結局のところ、ルールは変更されることがあります。多分、断片は小さな/普通の画面には隠されていますが、大きな/大きな画面では見えます。または、おそらくフラグメントは最初は個別に使用されましたが、後でViewPagerにロードされました。または、おそらくフラグメントがFragmentTransactionの一部として動的に作成され、BACKスタックに追加されるため、ユーザーはフラグメントを個別に取り除くことができます。 IMHO、フラグメントは、その個々のフラグメントの境界を超えているので、これらのもののどれかを知っても気にしてはいけません。

+0

ありがとうございました。私のアプローチを断片に再考する必要があります。私はあまりにも静的な方法でそれらを使用していると思う。ドキュメントは、おそらく私はそうではないWebのパラダイムで考えることを提案します。 –

+0

フラグメントを隠すことで、XMLコードではなくJavaコードを隠すことができますか?私は現在、隠れているフラグメントのonStart()に隠れコードを入れています。しかし、それはまだ目に見える。 – Namratha

関連する問題