当前位置: 首页 > wzjs >正文

淄博企业网站制作如何开通自己的网站

淄博企业网站制作,如何开通自己的网站,购物网站建设开发费用分析,网站详情页接手的项目过了下firebase和内存泄漏,还是有很多常见共性的问题 这个异常也是非常常见,但是很多人不会去修复的 Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.healthfitness.me.ui.badgeinf…

接手的项目过了下firebase和内存泄漏,还是有很多常见共性的问题

 这个异常也是非常常见,但是很多人不会去修复的

Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.healthfitness.me.ui.badgeinfo.BadgeListInfoDialog: could not find Fragment constructorat androidx.fragment.app.Fragment.instantiate(Fragment.java:687)at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57)at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:525)at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:84)at androidx.fragment.app.FragmentStateManager.<init>(FragmentStateManager.java:91)at androidx.fragment.app.FragmentManager.restoreSaveStateInternal(FragmentManager.java:2562)at androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1988)at androidx.fragment.app.Fragment.onCreate(Fragment.java:1967)at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094)at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504)at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268)

原因是

  • Android 系统在重建 Fragment 时,只能通过无参构造函数反射生成实例
  • 如果自定义了带参数的构造函数,系统无法找到无参构造方法,直接崩溃。

  • 通过 Bundle 传递参数是 Android 的官方推荐做法。

比如很常见的


class BadgeListInfoDialog(private val uId: Long,private val bId: Long,private val isMe: Boolean = true,//表示查看自己的private val badgeUserInfo: BadgeUserInfo? = null,//个人信息private val equipBId: Long?=null,private val mBadgeDetailBean: BadgeDetailBean?=null,//勋章详情,如果外层已经获取到了,就不用再请求了private val isDisBadgeBid: Long?=null
) : BaseDialogFragment<DialogBadgeListInfoBinding>()

BadgeListInfoDialog有了有参数的构造函数,就没有了默认的无参构造函数

所以比如页面销毁重建的时候,就会报这个异常

改造方案

class BadgeListInfoDialog : BaseDialogFragment<DialogBadgeListInfoBinding>() {// 定义参数 Key(避免硬编码)companion object {private const val KEY_UID = "uId"private const val KEY_BID = "bId"private const val KEY_IS_ME = "isMe"private const val KEY_BADGE_USER_INFO = "badgeUserInfo"private const val KEY_EQUIP_BID = "equipBId"private const val KEY_BADGE_DETAIL_BEAN = "badgeDetailBean"private const val KEY_IS_DIS_BADGE_BID = "isDisBadgeBid"// 统一的创建方法fun newInstance(uId: Long,bId: Long,isMe: Boolean = true,badgeUserInfo: BadgeUserInfo? = null,equipBId: Long? = null,badgeDetailBean: BadgeDetailBean? = null,isDisBadgeBid: Long? = null): BadgeListInfoDialog {val args = Bundle().apply {putLong(KEY_UID, uId)putLong(KEY_BID, bId)putBoolean(KEY_IS_ME, isMe)putParcelable(KEY_BADGE_USER_INFO, badgeUserInfo)equipBId?.let { putLong(KEY_EQUIP_BID, it) }putSerializable(KEY_BADGE_DETAIL_BEAN, badgeDetailBean)isDisBadgeBid?.let { putLong(KEY_IS_DIS_BADGE_BID, it) }}return BadgeListInfoDialog().apply {arguments = args}}}// 其他代码...
}

在oncreate中

class BadgeListInfoDialog : BaseDialogFragment<DialogBadgeListInfoBinding>() {// 定义参数变量(添加 lateinit 或可空类型)private lateinit var uId: Longprivate lateinit var bId: Longprivate var isMe: Boolean = trueprivate var badgeUserInfo: BadgeUserInfo? = nullprivate var equipBId: Long? = nullprivate var mBadgeDetailBean: BadgeDetailBean? = nullprivate var isDisBadgeBid: Long? = nulloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// 从 Bundle 中解析参数arguments?.let { args ->uId = args.getLong(KEY_UID)bId = args.getLong(KEY_BID)isMe = args.getBoolean(KEY_IS_ME, true)badgeUserInfo = args.getParcelable(KEY_BADGE_USER_INFO)equipBId = if (args.containsKey(KEY_EQUIP_BID)) args.getLong(KEY_EQUIP_BID) else nullmBadgeDetailBean = args.getSerializable(KEY_BADGE_DETAIL_BEAN) as? BadgeDetailBeanisDisBadgeBid = if (args.containsKey(KEY_IS_DIS_BADGE_BID)) args.getLong(KEY_IS_DIS_BADGE_BID) else null}}// 其他代码...
}

http://www.dtcms.com/wzjs/828.html

相关文章:

  • 厦门国外网站建设公司哪家好推广普通话手抄报文字内容
  • 营口做网站企业电商运营去哪里学比较好
  • 网站建设公司小程序seo技术快速网站排名
  • 给小公司做网站赚钱么58百度搜索引擎
  • 故乡网站开发的意义怎样在百度上推广
  • 温州做网站的企业网络营销优秀案例
  • 专做外贸的网站有哪些资料南京seo新浪
  • jsp做网站的书发布软文广告
  • 学前教育网站建设北京seo费用是多少
  • 做网站建设找哪家好郑州seo使用教程
  • 昆明做网站哪家便宜长沙优化网站
  • 在茂名哪里可以做网站20个排版漂亮的网页设计
  • 手机电影网站怎么做做网络推广工作怎么样
  • 个性化网站设计网络舆情报告
  • 哪个网站可以做java项目平台外宣推广技巧
  • 郓城做网站网络公司企业网站优化排名
  • 微信登录wordpress免费seo综合
  • wordpress js漏洞太原整站优化排名外包
  • 山东省住房和城乡建设厅网站山西seo排名
  • 寻找郑州网站建设济南seo网络优化公司
  • 建企业网站要多少钱引流推广软件
  • 电子政务门户网站建设最近三天的新闻大事简短
  • dede 网站地图模版如何申请百度竞价排名
  • 淄博专业网站建设价格网站收录查询网
  • 公司网站开发的国内外研究现状站长统计幸福宝下载
  • 长沙网站推广公司今日新闻简报
  • 做网站的人怎么上传内容的个人网页制作完整教程
  • 阿里云最低服务器可以做几个网站产品网络推广
  • 如何破解WordPress网站b站视频怎么快速推广
  • 海口网站制作网站免费建网站