アクティビティ内に複数のフラグメントがあります。すべてのフラグメントは、REST を使用してサーバーからフェッチされたデータを表示する必要があります。IntentService
REST リクエストに対応するレシーバーを実装しています。現在、アクティビティ内でフラグメントを内部クラスとして作成することでこれを行うことができます。
私が内部クラスで抱えている問題は、方向の変更時に、「フラグメントをインスタンス化できません、空のコンストラクターがありません」のようなエラーがスローされることです。この問題について、検索すると、内部クラスを静的にするか、フラグメントのスタンドアロンのパブリック クラスを作成するなどの回答が見つかりました。なぜこれが向きの変更で起こるのか、私はまだ理解していません。
ここで、Fragment 用に別のスタンドアロン クラスを作成するアプローチを取ると、アクティビティ オブジェクトを dostartService
とregisterReceiver
. AsyncTask
私のアプリでは、単一のフラグメント内で複数の REST リクエストを実行し、IntentService
すべてのリクエストの後にブロードキャストを送信できるようにするため、これを使用したくありません。スクリーン。そして、アクティビティオブジェクトをフラグメントに渡すのは良くないと思います。同じフラグメントを複数のアクティビティで使用できるように、フラグメントをアクティビティとできるだけ疎結合にするべきではありませんか? はいの場合、これを解決するための最良のアプローチは何ですか?