4

フラグメントクラスがあり、アクティビティの「メイン」クラスのメソッドを呼び出したい。フラグメントクラスは静的であるため、静的に保つ必要がありますが、おそらくそれが問題の原因です。静的クラス内からこのようなことを実行できるようにしたい: Method(); 試しました: getActivity().Method(); それは機能しませんでしたが。私は何をすべきか?

4

1 に答える 1

9

パブリックメソッドにアクセスするために、特定のクラスに返されたアクティビティをキャストできる必要があります。

メインクラスがMainActivityと呼ばれ、パブリックメソッドMethodがある場合は、フラグメントメソッドから次のように実行できます。

((MainActivity) getActivity()).Method();

または、フラグメントのドキュメントで説明されているイベントコールバックパターンを使用することもできます。

于 2012-08-18T00:40:05.333 に答える