フラグメントからアクティビティ内のメソッドを呼び出そうとしています。フラグメントがメソッド データを提供し、メソッドが返されたときにデータを取得するようにしたいと考えています。アクティビティで問題が発生するため、静的メソッドを使用せずに、静的メソッドの呼び出しと同様の操作を実現したいと考えています。
フラグメントは初めてなので、簡単でわかりやすい説明が必要です。
ありがとう!
ベストアンサー1
フラグメントからアクティビティへ:
((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");