Введите несоответствие. Требуется: MutableList <out ExpandableGroup <Parcelable>> - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь сделать так, чтобы я представлял утилиту расширения в расширенном масштабе, и я использую представление thinkbot / expandable-recycler, но у меня проблема с адаптером. Может быть, у кого-то была похожая проблема, и она может помочь мне решить эту проблему
1) код моего родительского класса

/****** parent ******/
class Item(title: String?, items: MutableList<ItemDetail>?) : 
ExpandableGroup<ItemDetail>(title, items)

2) Дочерний класс (здесь я использовал parcelize. Но сейчас я использую: Parcelable)

 // @Parcelize
 // data class ItemDetail(
 // var i_size: String,
 // var i_qty: Int
 //): Parcelable
 class ItemDetail (val i_size: String, val i_qty: Int): Parcelable{
    constructor(parcel: Parcel):this(
     parcel.readString(),
     parcel.readInt()){

   }

   override fun writeToParcel(parcel: Parcel, flags: Int) {
      parcel.writeString(i_size)
      parcel.writeInt(i_qty)
   }

   override fun describeContents(): Int {
     return 0
    }

  companion object CREATOR : Parcelable.Creator<ItemDetail> {
     override fun createFromParcel(parcel: Parcel): ItemDetail {
       return ItemDetail(parcel)
     }

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

3) Фрагмент - Адаптер





    /**** fragment ****/
    val groups: MutableList<Item> = ArrayList<Item>()

    val childs : MutableList<ItemDetail> = ArrayList<ItemDetail>()
    childs.add(ItemDetail("200x200",4))
    childs.add(ItemDetail("300x300",6))
    childs.add(ItemDetail("400x300",2))
    groups.add(Item("Item ISFAKHAN",childs))

    val childs2 : MutableList<ItemDetail> = ArrayList<ItemDetail>()
    childs2.add(ItemDetail("200x200",42))
    childs2.add(ItemDetail("300x300",62))
    childs2.add(ItemDetail("400x300",22))
    groups.add(Item("Item DASTAN",childs2))
    /***  error ***/
    cAdapter = CartAdapter(groups)
    /*** Type mismatch.Required: MutableList<out ExpandableGroup<Parcelable>>? Found: MutableList<Item> ***/



      /****** adapter *****/
    class CartAdapter(groups: MutableList<out ExpandableGroup<Parcelable>>?) : 
    ExpandableRecyclerViewAdapter<ItemVH, ItemDetailVH>(groups) {

}

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

решаемая. только что изменилось

CartAdapter(groups: MutableList<out ExpandableGroup<Parcelable>>?)

до

CartAdapter(groups: List<out ExpandableGroup<*>>)
0 голосов
/ 31 мая 2019

Я считаю, что ваш Item класс также должен быть пригоден для продажи.

...