0

reset()フラグメントがあります。フラグメントは、呼び出されたフラグメントのアクティビティから(パブリック)メソッドを実行する必要があります。

たとえば、次のページを見つけました。 フラグメントからのアクティビティメソッドの呼び出し 他の方法では問題はありません。

Input_tap Input_tap = (Input_tap) getFragmentManager().findFragmentById(R.id.input);
Input_tap.reset();

誰かがそれを他の方法で行う方法を知っていますか?および:メソッドはパブリックである必要がありますか?その「ボイド」メソッドですか?

4

1 に答える 1

1

Fragmentを呼び出して、それgetActivity()をホストしているアクティビティを取得できます。

フラグメントをホストできるアクティビティが1つしかない場合は、Activityを適切なクラス(たとえばMyActivity)にキャストし、そのクラスでメソッドを呼び出します。

((MyActivity)getActivity()).someMethod();

フラグメントをホストできるアクティビティが複数ある可能性がある場合は、interfaceそれらすべてのアクティビティに共通を実装するのが最適です。そのため、getActivity()の結果をそのインターフェイスにキャストできます。

((MyInterface)getActivity()).someMethod();
于 2012-09-13T20:47:20.647 に答える