2

与えられた:

  • フラグメントからいつでも呼び出しgetActivity()て、コンテキスト内のアクティビティへの参照を取得できます。
    • そしてもちろん、このインスタンスを強力な型 ( などMainActivity) にキャストして、アクティビティのパブリック プロパティとパブリック メソッドへの参照を取得できます。

私の質問:

  • これはフォームが悪いのでしょうか?それは避けるべきですか?
    • 具体的には、アクティビティのプロパティとメソッドへの参照をインターフェイス経由で取得する必要がありますか?
  • それとも、パブリック プロパティとメソッドをアクティビティのフラグメントに公開するのが標準的な方法ですか?
4

1 に答える 1

2

インターフェイスを介してアクティビティのプロパティとメソッドへの参照を取得する必要がありますか?

フラグメントが後で他のアクティビティによってホストされる可能性がある場合 (たとえば、あるアクティビティが電話サイズのフォーム ファクタで使用され、別のアクティビティがタブレット サイズのフォーム ファクタで使用されるなど)、コードの将来性を保証するのに役立ちます。コントラクト インターフェイスをセットアップするのはそれほど難しくありません。

パブリック プロパティとメソッドをアクティビティのフラグメントに公開するのは標準的な方法ですか?

これは、あなたが今尋ねたのと同じ質問のようです。ただし、それらをパッケージ プライベートにする必要があるかどうかpublic、またはパッケージ プライベートのままにすることができるかどうかは、それらが同じパッケージ内にあるかどうかに依存することに注意してください。

この 2 番目の質問を誤解した場合は、申し訳ありませんが、少し明確にしたい場合があります。

于 2014-04-18T17:42:46.383 に答える