kotlinでfragmentのnewInstance関数の作り方
Fragmentにはコンストラクで値渡しをすることが禁止されており、
setArgs関数を使って値渡しをする必要があります。
Javaではstatic関数を使ってFragmentを生成し、その関数内(newInstanceという命名が基本)で、
bundleをセットしていますが、
kotlinにはstaticの関数自体がそもそもないよう(不要なものだとされている)なので、代替する必要があります。
今回は、companion objectを使います。
fragment newInstanceの定義方法
| 
					 1 2 3 4 5 6 7 8 9 10 11  | 
						class PlayListFragment : Fragment(){     companion object {         fun newInstance(age : Int): PlayListFragment {             var playListFragment = PlayListFragment()             var bundle = Bundle()             bundle.putInt("age_key",age)             playListFragment.arguments = bundle             return PlayListFragment()         }     } }  | 
					
companion objectの中に関数を定義します。
そのあとは、javaと変わりありません。
fragment newInstanceの使用例
| 
					 1 2  | 
						var age : Int = 35 var fragment = PlayListFragment.newInstance(age)  |