0

I keep getting the following error in my Android app when I launch my app:

10-07 22:00:07.416  21555-21555/com.antechdevelopment.NotificationReminders E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.antechdevelopment.NotificationReminders, PID: 21555
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.antechdevelopment.NotificationReminders/com.antechdevelopment.NotificationReminders.screens.MainActivity}: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.antechdevelopment.NotificationReminders.screens.MainActivity$NewReminderFragment: make sure class name exists, is public, and has an empty constructor that is public
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.antechdevelopment.NotificationReminders.screens.MainActivity$NewReminderFragment: make sure class name exists, is public, and has an empty constructor that is public
            at android.support.v4.app.Fragment.instantiate(Fragment.java:413)
            at android.support.v4.app.FragmentState.instantiate(Fragment.java:97)
            at android.support.v4.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1790)
            at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:213)
            at com.antechdevelopment.NotificationReminders.screens.MainActivity.onCreate(MainActivity.java:96)
            at android.app.Activity.performCreate(Activity.java:5426)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.InstantiationException: can't instantiate class com.antechdevelopment.NotificationReminders.screens.MainActivity$NewReminderFragment; no empty constructor
            at java.lang.Class.newInstanceImpl(Native Method)
            at java.lang.Class.newInstance(Class.java:1208)
            at android.support.v4.app.Fragment.instantiate(Fragment.java:402)
            at android.support.v4.app.FragmentState.instantiate(Fragment.java:97)
            at android.support.v4.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1790)
            at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:213)
            at com.antechdevelopment.NotificationReminders.screens.MainActivity.onCreate(MainActivity.java:96)
            at android.app.Activity.performCreate(Activity.java:5426)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)

However, I clearly have an empty constructor.... ??? Here's the code it's referring to:

public class NewReminderFragment extends Fragment {
    public NewReminderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater,
                             ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.new_reminder_fragment, container, false);
        ...
        return rootView;
    }
}

Any one have any ideas??? This is really annoying, and not good to publish!

I've done reasearch but to no avail.

1 Answer 1

1

Declare the Fragment as static:

public static class NewReminderFragment extends Fragment

Sign up to request clarification or add additional context in comments.

2 Comments

Hey, thanks, that seems to have fixed my original problem but now it's throwing an out of memory exception, but only when I switch between landscape and portrait modes. It has to do with ImageViews and icons....
You should post another question about that. Not enough information here to be able to help with it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.