私のカスタムビューでは、単純なゲームを実行するJavaクラスがあります。ゲームが終了したら私はDialogFragment
を表示したいが、getFragmentManager()
メソッドは定義されていないようだ。カスタムビュークラスのFragmentManagerへのアクセス
FragmentManager manager = getFragmentManager();
Finish finish = new Finish();
finish.show(manager, "done");
私のようにFragment
OBJを通じてマネージャを取得しようとしました:
Fragment fragment = new Fragment();
FragmentManager manager = fragment.getFragmentManager();
しかし、それはのようにnullを返します。私はそれが新しいFragment
インスタンスであることを知っていますが、私はそれを与えるためにどのような価値があるか分かりません。どんな助けでも大歓迎です。あなたのビューがActivity
に添付されている場合
あなたの 'View'は' FragmentManager'と直接対話するべきではありません。代わりに、あなたの 'Activity'が実装できるインターフェースを作成します。これにより、' View'はゲームが完了したことを知らせ、 'Activity'のインターフェースメソッドで' FragmentTransaction'を行います。 –
親ビューでは静的メソッドのようなものがあり、ゲームを知らせるためにそれを呼び出すと終了します。 – Brian
いいえ、あなたは 'static'メソッドから' FragmentManager'にアクセスすることはできません。何らかの不安定なパラメータの中継はありません。 'interface'を使います。 –