minato
minato

Reputation: 2332

Unable to instantiate fragment - could not find Fragment constructor

I'm trying to call a fragment but receiving the below error sometimes even though I have empty constructor inside my fragment

as

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)

Upvotes: 1

Views: 5886

Answers (1)

matdev
matdev

Reputation: 4283

If you don't need to do anything in your MainFragment constructor, just remove it.

If you do need to override the constructor, it should include the call to super()

public MainFragment() {
    super()
}

Upvotes: 4

Related Questions