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 package com.yidian.shenghuoquan.commodity.dto
import com.google.gson.annotations.SerializedName import com.google.gson.annotations.SerializedName
import java.io.Serializable
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -14,4 +15,4 @@ data class CommodityStatus( ...@@ -14,4 +15,4 @@ data class CommodityStatus(
val name: String, val name: String,
@SerializedName("type") @SerializedName("type")
val type: String val type: String
) ) : Serializable
...@@ -12,11 +12,9 @@ import com.yidian.common.XBirdPageConstants ...@@ -12,11 +12,9 @@ import com.yidian.common.XBirdPageConstants
import com.yidian.common.XEventConfig import com.yidian.common.XEventConfig
import com.yidian.common.XRouterPathConstants import com.yidian.common.XRouterPathConstants
import com.yidian.common.mvvm.BaseMvvmActivity import com.yidian.common.mvvm.BaseMvvmActivity
import com.yidian.news.util.StorageUtils
import com.yidian.shenghuoquan.commodity.R import com.yidian.shenghuoquan.commodity.R
import com.yidian.shenghuoquan.commodity.databinding.CommodityActivityCommodityManagementBinding import com.yidian.shenghuoquan.commodity.databinding.CommodityActivityCommodityManagementBinding
import com.yidian.shenghuoquan.commodity.ui.coupon.fragment.CommodityListFragment 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.shenghuoquan.commodity.ui.coupon.viewmodel.CommodityManagementViewModel
import com.yidian.xarc.xevent.XBaseEvent import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager import com.yidian.xarc.xevent.XEventManager
...@@ -51,7 +49,7 @@ class CommodityManagementActivity : BaseMvvmActivity<CommodityActivityCommodityM ...@@ -51,7 +49,7 @@ class CommodityManagementActivity : BaseMvvmActivity<CommodityActivityCommodityM
override fun getItemCount() = it.size override fun getItemCount() = it.size
override fun createFragment(position: Int): Fragment { override fun createFragment(position: Int): Fragment {
return CommodityListFragment(it[position]) return CommodityListFragment.newInstance(it[position])
} }
} }
......
package com.yidian.shenghuoquan.commodity.ui.coupon.fragment package com.yidian.shenghuoquan.commodity.ui.coupon.fragment
import androidx.core.os.bundleOf
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
...@@ -18,10 +19,24 @@ import com.yidian.shenghuoquan.commodity.ui.coupon.viewmodel.CommodityListViewMo ...@@ -18,10 +19,24 @@ import com.yidian.shenghuoquan.commodity.ui.coupon.viewmodel.CommodityListViewMo
* date: 7/2/21 10:44 AM * date: 7/2/21 10:44 AM
* description: 商品列表 * description: 商品列表
*/ */
class CommodityListFragment(private val status: CommodityStatus) : class CommodityListFragment :
BaseMvvmFragment<CommodityFragmentCommodityListBinding, CommodityListViewModel>(R.layout.commodity_fragment_commodity_list), BaseMvvmFragment<CommodityFragmentCommodityListBinding, CommodityListViewModel>(R.layout.commodity_fragment_commodity_list),
OnRefreshListener, OnLoadMoreListener { 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) } } private val adapter by lazy { activity?.let { CommodityListAdapter(it, status) } }
override val vm: CommodityListViewModel by viewModels() 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