Commit 3b4dec32 authored by yinjiacheng's avatar yinjiacheng

fix androidx.fragment.app.Fragment$InstantiationException: Unable to...

fix androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.yidian.shenghuoquan.commodity.ui.coupon.fragment.CommodityListFragment: could not find Fragment constructor
parent feea04d3
package com.yidian.shenghuoquan.commodity.dto
import com.google.gson.annotations.SerializedName
import java.io.Serializable
/**
* author: yinjiacheng
......@@ -14,4 +15,4 @@ data class CommodityStatus(
val name: String,
@SerializedName("type")
val type: String
)
) : Serializable
......@@ -12,11 +12,9 @@ import com.yidian.common.XBirdPageConstants
import com.yidian.common.XEventConfig
import com.yidian.common.XRouterPathConstants
import com.yidian.common.mvvm.BaseMvvmActivity
import com.yidian.news.util.StorageUtils
import com.yidian.shenghuoquan.commodity.R
import com.yidian.shenghuoquan.commodity.databinding.CommodityActivityCommodityManagementBinding
import com.yidian.shenghuoquan.commodity.ui.coupon.fragment.CommodityListFragment
import com.yidian.shenghuoquan.commodity.ui.coupon.viewmodel.CommodityListItemViewModel
import com.yidian.shenghuoquan.commodity.ui.coupon.viewmodel.CommodityManagementViewModel
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
......@@ -51,7 +49,7 @@ class CommodityManagementActivity : BaseMvvmActivity<CommodityActivityCommodityM
override fun getItemCount() = it.size
override fun createFragment(position: Int): Fragment {
return CommodityListFragment(it[position])
return CommodityListFragment.newInstance(it[position])
}
}
......
package com.yidian.shenghuoquan.commodity.ui.coupon.fragment
import androidx.core.os.bundleOf
import androidx.core.view.isVisible
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
......@@ -18,10 +19,24 @@ import com.yidian.shenghuoquan.commodity.ui.coupon.viewmodel.CommodityListViewMo
* date: 7/2/21 10:44 AM
* description: 商品列表
*/
class CommodityListFragment(private val status: CommodityStatus) :
class CommodityListFragment :
BaseMvvmFragment<CommodityFragmentCommodityListBinding, CommodityListViewModel>(R.layout.commodity_fragment_commodity_list),
OnRefreshListener, OnLoadMoreListener {
companion object {
// 商品状态
// e.g. 上架中、审核中、被驳回、已下架
private const val ARGUMENT_COMMODITY_STATUS = "commodity_status"
fun newInstance(status: CommodityStatus): CommodityListFragment {
return CommodityListFragment().apply {
arguments = bundleOf(Pair(ARGUMENT_COMMODITY_STATUS, status))
}
}
}
private val status by lazy { arguments?.get(ARGUMENT_COMMODITY_STATUS) as CommodityStatus }
private val adapter by lazy { activity?.let { CommodityListAdapter(it, status) } }
override val vm: CommodityListViewModel by viewModels()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment