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

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

谷梁浩思
2023-03-14

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

作为

public MainFragment()
{

}


Caused by androidx.fragment.app.Fragment$e: Unable to instantiate fragment MainFragment: could not find Fragment constructor
   at androidx.fragment.app.Fragment.a(Fragment.java:94)
   at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java)
   at androidx.fragment.app.FragmentManagerImpl$6.instantiate(FragmentManagerImpl.java:9)
   at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:13)
   at androidx.fragment.app.FragmentManagerImpl.a(FragmentManagerImpl.java:239)
   at androidx.fragment.app.FragmentController.a(FragmentController.java:8)
   at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:17)
   at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:10)
   at me.dozee.dozee.MainActivity.onCreate(MainActivity.java)
   at android.app.Activity.performCreate(Activity.java:7149)
   at android.app.Activity.performCreate(Activity.java:7140)
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1288)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3027)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3182)
   at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
   at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
   at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1916)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loop(Looper.java:193)
   at android.app.ActivityThread.main(ActivityThread.java:6898)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

共有1个答案

胡嘉歆
2023-03-14

如果您不需要在您的MainFrament构造函数中执行任何操作,只需将其删除即可。

如果确实需要重写构造函数,它应该包括对super()的调用

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

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

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

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

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

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