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

无法实例化片段(找不到片段构造函数)

莫翰藻
2023-03-14

我在一些设备上遇到了这个问题,并且在我的崩溃分析中出现了一个错误。当应用程序遇到ANR故障并且错误为

无法启动activity ComponentInfo{com.qwykr.dryver.base/com.qwykr.dryver.base.activities.MainActivity}:Android.support.v4.app.fragment$InstantiationException:无法实例化片段com.qwykr.dryver.base.fragments.SlideFragment:找不到片段构造函数

@Override
protected void onCreate(Bundle arg0) {
    // TODO Auto-generated method stub
    super.onCreate(arg0);
}

而幻灯片构造函数是

  @SuppressLint("ValidFragment")
public SideMenuFragment(Context mContext) {
    this.mContext=mContext;
}

并且有时会发生与此问题的原因有关的ANR。有时它的工作很好,有时它的原因是问题

共有1个答案

程阳平
2023-03-14

这是Kotlin上的示例,但您也可以在Java中实现

abstract class BaseFragment : Fragment() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }

    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
    }

    override fun onDestroyView() {
        super.onDestroyView()
    }

    override fun onResume() {
        super.onResume()
    }
}
class ApproveFragment : BaseFragment() {

    companion object {
        fun newInstance(orderId: Int) = ApproveFragment().apply {
            arguments = Bundle(1).apply {
                putInt("ORDER_ID", orderId)
            }
        }
    }

    override fun onCreateView(
        inflater: LayoutInflater?,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater?.inflate(R.layout.fragment_approve, container, false)
    }

    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
    }
}
 类似资料:
  • 我试图调用一个片段,但有时会收到以下错误,即使我的片段中有空构造函数 作为

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

  • 我在一些设备上面临这个问题,并在崩溃分析中出错。很多用户设备都面临这个问题,但在我的设备上运行良好。 无法启动活动ComponentInfo{com.ox.outloks.new/com.ox.outloks.new.activities.maindraweractivity}:Android.support.v4.app.fragment$instantiationexception:无法实例化

  • 当创建一个流行的片段时,我得到一个空的构造函数错误。 请看看我写的代码,创建碎片时如何传递数据?

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

  • 我的一些用户正在经历崩溃,这是Google Play开发者控制台上的崩溃报告中显示的错误: