Jetpack でデータを送信するためのより洗練された方法を探している
現在、次のようにデータを渡しています。
override fun onListItemClick(itemIndex: Int, itemCode: String) {
val bundle = Bundle()
bundle.putString(KEY_TARGET_GUID, (adapter.getItem(itemIndex) as Target).guid)
findNavController().navigate(R.id.target_edit, bundle)
}
そして、次のように別のフラグメントで取得します。
private val targetGuid: String
get() = arguments?.getString(KEY_TARGET_GUID, "") ?: ""
私はグーグルの人たちがコードラボでそれを行うのを見ましたが、彼の例では彼らはクラスを作成しましたFlowStepFragmentArgs
、そしてそれは膨大です
data class FlowStepFragmentArgs(val flowStepNumber: Int = 2) : NavArgs {
fun toBundle(): Bundle {
val result = Bundle()
result.putInt("flowStepNumber", this.flowStepNumber)
return result
}
companion object {
@JvmStatic
fun fromBundle(bundle: Bundle): FlowStepFragmentArgs {
bundle.setClassLoader(FlowStepFragmentArgs::class.java.classLoader)
val __flowStepNumber : Int
if (bundle.containsKey("flowStepNumber")) {
__flowStepNumber = bundle.getInt("flowStepNumber")
} else {
__flowStepNumber = 2
}
return FlowStepFragmentArgs(__flowStepNumber)
}
}
}
Q : 私の場合、どうすれば綺麗にデータを移行できますか