1. ホーム
  2. android

[解決済み] フラグメントからアクティビティメソッドを呼び出す

2022-03-15 01:19:31

質問

アクティビティ内のメソッドをフラグメントから呼び出そうとしています。フラグメントがメソッドにデータを与え、メソッドが戻ったときにデータを取得するようにしたい。私は静的なメソッドの呼び出しと同様のことを達成したいのですが、アクティビティで問題が発生するため、静的なものを使用しないでください。

フラグメントは初めてなので、簡単で教育的な説明が必要です!

ありがとうございます。

解決方法は?

フラグメントからアクティビティへ。

((YourActivityClassName)getActivity()).yourPublicMethod();

アクティビティからフラグメントへ。

FragmentManager fm = getSupportFragmentManager();

//if you added fragment via layout xml
YourFragmentClass fragment = (YourFragmentClass)fm.findFragmentById(R.id.your_fragment_id);
fragment.yourPublicMethod();

コードでフラグメントを追加し tag 文字列を使用します。 findFragmentByTag の代わりに

YourFragmentClass fragment = (YourFragmentClass)fm.findFragmentByTag("yourTag");