当前位置: 首页 > 知识库问答 >
问题:

找不到片段构造函数kotlin

邵华皓
2023-03-14

当创建一个流行的片段时,我得到一个空的构造函数错误。

请看看我写的代码,创建碎片时如何传递数据?

   mAdapter = SubPagerAdapter(childFragmentManager)
                    for (doc in it.docs!!) {

                        mAdapter.addFragment(
                            PopularFragment(doc.code, "#${doc.name}", 10),
                            doc.name
                        )
                    }
                    viewpager.adapter = mAdapter
                    tabs.setupWithViewPager(viewpager)

class PopularFragment(private val hashTagsCode: Int, private val title: String, private val ItemCount: Int) : Fragment() {

    var mHashTagsCode = hashTagsCode
    var mTitle = title
    var mItemCount = ItemCount
}

共有1个答案

段弘和
2023-03-14

您应该始终将数据作为参数传递给片段

 class PopularFragment : Fragment() {
    
        var mHashTagsCode = 0
        lateinit var mTitle :String
        var mItemCount = 0
        
        companion object{
           fun instance(hashTagsCode: Int, title: String, itemCount: Int){
                val data = Bundle()
                data.putString("hash_tag_codes", hashTagsCode)
                data.putString("title", title)
                data.putString("item_count", itemCount)
                return PopularFragment().apply{
                     arguments = data
                }
           }
        }
        
        override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
             mItemCount = arguments?.getInt("item_count")?:0
             mHashTagsCode = arguments?.getInt("hash_tag_codes")?:0
             mTitle = arguments?.getString("title")
        }
    
    }

用于创建实例

 mAdapter = SubPagerAdapter(childFragmentManager)
 for (doc in it.docs!!) {
      mAdapter
      .addFragment(PopularFragment.intsance(doc.code, "#${doc.name}", 10),doc.name)
 }
 viewpager.adapter = mAdapter
 tabs.setupWithViewPager(viewpager)
 类似资料:
  • 我在一些设备上面临这个问题,并在崩溃分析中出错。很多用户设备都面临这个问题,但在我的设备上运行良好。 无法启动活动ComponentInfo{com.ox.outloks.new/com.ox.outloks.new.activities.maindraweractivity}:Android.support.v4.app.fragment$instantiationexception:无法实例化

  • 我试图调用一个片段,但有时会收到以下错误,即使我的片段中有空构造函数 作为

  • 我在一些设备上遇到了这个问题,并且在我的崩溃分析中出现了一个错误。当应用程序遇到ANR故障并且错误为 无法启动activity ComponentInfo{com.qwykr.dryver.base/com.qwykr.dryver.base.activities.MainActivity}:Android.support.v4.app.fragment$InstantiationExceptio

  • 每当我进入设置活动并旋转设备时,我都会收到此错误消息“找不到片段构造函数”。下面是我的设置活动onCreate()方法和设置片段类。

  • 我有以下错误。我在DailyVerseFrament上添加了构造函数。但它仍然不起作用。我有这个问题超过一个星期了。

  • 问题内容: 我的MyBatis映射有问题。我有一个像这样的领域类: 一个映射器类,具有如下方法: 在数据库中,三列的类型分别为Number,Timestamp和Clob,并且名称与类字段中的名称相同。 当我使用此方法时,我得到一个: ExecutorException:在[MyClass;中找不到构造函数。 匹配[java.math.BigDecimal,java.sql.Timestamp,or