今回はFragmentPagerAdapterのgetItemメソッドの中で、position(Int)の値渡しをしてみます。
渡す側
HogeFragment.kt
override fun getItem(position: Int): Fragment? {
// Bundle(オブジェクトの入れ物)のインスタンスを作成する
val bundle = Bundle()
// Key/Pairの形で値をセットする
bundle.putInt("KEY_POSITION", position)
// Fragmentに値をセットする
val fragment = FugaFragment()
fragment.setArguments(bundle)
return fragment
}
渡したい値の型に応じてputString
やputBoolean
などが使えます。
受け取る側
FugaFragment.kt
// 値がセットされなかった時のために初期値をセットしておく
private var position = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState){
// Bundleを取得する
val bundle = arguments
// Bundleがセットされていたら値を受け取る
if (bundle != null) {
position = bundle.getInt("KEY_POSITION")
}
}
受け取りたい値の型に応じてgetString
やgetBoolean
などが使えます。