課題
画面間の値渡しでBundleにEnumの値をセット、取得したい。どうすればよいか。
対応
EnumはSerializableなので Bundleの putSerializable
メソッドが使える。
enum class Mark { HEART, SPADE, DIAMOND, CLUB } fun newInstance(): CardFragment { return CardFragment().apply { arguments = Bundle().apply { putSerializable("Mark", Mark.SPADE) } } }
override fun onAttach(context: Context) { super.onAttach(context) val mark:Mark = requireArguments().getSerializable("Mark")!! as Mark }