公式 Fragment guideのDesign Philosophyセクションには、次のように書かれています。
各フラグメントは、モジュール式で再利用可能なアクティビティ コンポーネントとして設計する必要があります。つまり、各フラグメントは独自のライフサイクル コールバックを使用して独自のレイアウトと独自の動作を定義するため、1 つのフラグメントを複数のアクティビティに含めることができるため、再利用できるように設計し、あるフラグメントを別のフラグメントから直接操作しないようにする必要があります。
しかし、そのExampleでは、TitlesFragment
クラス (extends ) は、そのメソッドでクラス ( extends ListFragment
) を直接参照しています。DetailsFragment
Fragment
showDetails()
findFragmentById()
DetailsFragment details = (DetailsFragment)
getFragmentManager().findFragmentById(R.id.details);
DetailsFragment
クラスのnewInstance()
メソッドを呼び出します。
details = DetailsFragment.newInstance(index);
コーディング スタイルが悪いのでしょうか。
比較すると、コーディング スタイルに関しては、基本的なトレーニング マテリアルの方が優れているように見えます。フラグメントからアクティビティへの通信にインターフェイスを使用します。