如何将非基本类型传递给Fragment Factory方法的Bundle

时间:2019-05-08 13:37:10

标签: android android-fragments

我有一个具有非原始属性的对象,该对象将使用API​​调用中的信息进行初始化:

class object(
    val attribute1: String
    val attribute2: Date
)

我想用这些属性作为参数构建一个片段,就像这样:

 private var param1: String? = null
 private var param2: Date? = null

Fragment的factory和onCreate方法中的键/值对需要原始类型作为值

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        arguments?.let {
            param1 = it.getString(ARG_PARAM1)
            param2 = it.getString(ARG_PARAM2)
        }
    }


fun newInstance(param1: String, param2: String) =
            PaymentMethodFragment().apply {
                arguments = Bundle().apply {
                    putString(ARG_PARAM1, param1)
                    putString(ARG_PARAM2, param2)
                }
            }

将这些数据传递到片段的新实例中的最佳方法是什么?

0 个答案:

没有答案