我如何在 Kotlin 的 List<E> 的构造函数参数中设置值
How do i set the value in List<E>'s constructor parameters in kotlin
我创建了一个 Account
的 pojo class,其中有一个 Address
class 的数组。我想从我的主要片段中设置 address
的参数值。我该如何设置?请看我的Account
模型代码,Address
模型代码和我设置账户模型数据的主要片段。
账户模型 (POJO)
class Account(
var OrganizationName: String?,
var Addresses: List<Address>?,) : Serializable {
constructor() : this(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null)}
地址模型 (POJO)
class Address(
var Id: Int?,
var Name: String?,
var AddressLine1: String?,
var AddressLine2: String?,
var City: String?,
var Locality: String?,
var State: String?,
var ZipCode: Int?,
):Serializable
主要片段 class 我在其中设置帐户和地址 class 参数的详细信息。
class AccountDetailsFragment constructor
(onCheckChanged: OnCheckChanged, changeTabs: ChangeTabs) : BaseFragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_account_details, container, false)
return view
}
fun getFilledData(account: Account): Account {
account.OrganizationName = "name"
// How do i insert the value for address's parameters here.
return account
}
}
首先,您使用了错误的变量命名约定。 Read more here.
fun getFilledData(account: Account): Account {
account.OrganizationName = "name"
val addresses = ArrayList<Address>()
for(i in 0..10){
//create and insert your multiple addresses here
val address = Address(i,"name $i","line1 $i","line2 $i ","city $i","locality $i","state $i ", i)
addresses.add(address)
}
//assign list to account
account.Addresses = addresses
return account
}
我创建了一个 Account
的 pojo class,其中有一个 Address
class 的数组。我想从我的主要片段中设置 address
的参数值。我该如何设置?请看我的Account
模型代码,Address
模型代码和我设置账户模型数据的主要片段。
账户模型 (POJO)
class Account(
var OrganizationName: String?,
var Addresses: List<Address>?,) : Serializable {
constructor() : this(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null)}
地址模型 (POJO)
class Address(
var Id: Int?,
var Name: String?,
var AddressLine1: String?,
var AddressLine2: String?,
var City: String?,
var Locality: String?,
var State: String?,
var ZipCode: Int?,
):Serializable
主要片段 class 我在其中设置帐户和地址 class 参数的详细信息。
class AccountDetailsFragment constructor
(onCheckChanged: OnCheckChanged, changeTabs: ChangeTabs) : BaseFragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_account_details, container, false)
return view
}
fun getFilledData(account: Account): Account {
account.OrganizationName = "name"
// How do i insert the value for address's parameters here.
return account
}
}
首先,您使用了错误的变量命名约定。 Read more here.
fun getFilledData(account: Account): Account {
account.OrganizationName = "name"
val addresses = ArrayList<Address>()
for(i in 0..10){
//create and insert your multiple addresses here
val address = Address(i,"name $i","line1 $i","line2 $i ","city $i","locality $i","state $i ", i)
addresses.add(address)
}
//assign list to account
account.Addresses = addresses
return account
}