Как заставить разработчиков использовать «yyyy» вместо «YYYY» в simpleDateFormat?

Вы можете создать общий класс Parcelable, который содержит переменную типа (Any)

class BaseParcelable : Parcelable {

var value: Any

constructor(value: Any) {
    this.value = value
}

constructor(parcel: Parcel) {
    this.value = Any()
}

override fun writeToParcel(dest: Parcel?, flags: Int) {}

override fun describeContents(): Int = 0

companion object CREATOR : Parcelable.Creator<BaseParcelable> {

    override fun createFromParcel(parcel: Parcel): BaseParcelable {
        return BaseParcelable(parcel)
    }

    override fun newArray(size: Int): Array<BaseParcelable?> {
        return arrayOfNulls(size)
    }
}

}

Затем используйте этот класс для передачи данных между фрагментами или между ними (Activty to fragment)

Чтобы передать список из фрагмента в фрагмент, например:

companion object {
fun newInstance(categoryId: Int, brandsList: ArrayList<Int>): Fragment {
    val fragment = CategoryAllAdsFragment()
    fragment.arguments = Bundle()
    fragment.arguments!!.putInt(Constant.CATEGORY_ID, categoryId)
    fragment.arguments!!.putParcelable(Constant.BRANDS_LIST, BaseParcelable(brandsList))
    return fragment
}

}

Чтобы получить список:

val any = arguments?.getParcelable<BaseParcelable>(Constant.BRANDS_LIST).value
val list = any as ArrayList<Int>
1
задан Nsingh 18 January 2019 в 21:55
поделиться