ActivityからFragmentのメソッドを呼びたいときは、FragmentManagerクラスのfindFragmentByIdメソッドまたはfindFragmentByTagメソッドを使ってFragmentの参照を取得してメソッドを呼び出すことが公式で案内されています。
FragmentがViewPagerのページを構成しているときは、公式の記載は無いですが、このようなやり方でFragmentの参照を取得することができます。
※ ViewPagerのadapterにFragmentPagerAdapterを使っている場合のみ有効です。FragmentStatePagerAdapterを使っている場合はFragmentの参照を取得できませんでした。
PagerActivity.kt
// 2ページ目FragmentのsomeMethodメソッドを呼び出す
val id = viewPager.id
val index = 1
val tag = "android:switcher:$id:$index"
val f = supportFragmentManager.findFragmentByTag(tag) as SomeFragment?
f?.someMethod()
今回、ViewPager2を使っている場合はどうすれば良いか調べてみました。
f0, f1, f2のように、よりシンプルなタグ名が付けられていました。
PagerActivity.kt
// 2ページ目FragmentのsomeMethodメソッドを呼び出す
val tag = "f1"
val f = supportFragmentManager.findFragmentByTag(tag) as SomeFragment?
f?.someMethod()
公式情報では無いのでライブラリをアップデートしたときはご注意ください。