Как установить значение в параметрах конструктора List <E>в kotlin - PullRequest
0 голосов
/ 30 апреля 2018

Я создал класс pojo Account, в котором есть массив класса Address. Я хочу установить значение параметра 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

Класс основного фрагмента, где я устанавливаю детали параметров класса Account и Address.

  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


}


}

1 Ответ

0 голосов
/ 30 апреля 2018

Прежде всего, вы используете неправильное соглашение о присвоении имен переменным. Подробнее здесь.

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
}
...