0

I am a beginner in android My app starts with a Splash Screen which goes to an Empty Activity where it takes some info. It works fine till here. After that I used a submit button to guide the user to the Navigation drawer activity, but somehow the app crashes. I tried to replace the navigation drawer activity with an Empty activity on button click, which worked fine. I also tried launching the navigation drawer activity from splash screen, didn't work as well.

submitButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent gotoChoiceSelection = new Intent(getApplicationContext(), ChoiceSelection.class);
            startActivity(gotoChoiceSelection);
        }
    });

(ChoiceSelection is my Navigation drawer activity)

logcat

08-09 20:39:15.765 19793-19793/comviewappisome.google.sites.iamengineermu E/AndroidRuntime: FATAL EXCEPTION: main
Process: comviewappisome.google.sites.iamengineermu, PID: 19793
java.lang.RuntimeException: Unable to start activity ComponentInfo{comviewappisome.google.sites.iamengineermu/comviewappisome.google.sites.iamengineermu.ChoiceSelection}: android.view.InflateException: Binary XML file line #18: Binary XML file line #18: Error inflating class fragment
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2904)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2986)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1671)
    at android.os.Handler.dispatchMessage(Handler.java:108)
    at android.os.Looper.loop(Looper.java:206)
    at android.app.ActivityThread.main(ActivityThread.java:6784)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:852)
 Caused by: android.view.InflateException: Binary XML file line #18: Binary XML file line #18: Error inflating class fragment
 Caused by: android.view.InflateException: Binary XML file line #18: Error inflating class fragment
 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.app.ActionBar.getThemedContext()' on a null object reference
    at comviewappisome.google.sites.iamengineermu.NavigationDrawerFragment.onCreateView(NavigationDrawerFragment.java:101)
    at android.app.Fragment.performCreateView(Fragment.java:2611)
    at android.app.FragmentManagerImpl.ensureInflatedFragmentView(FragmentManager.java:1459)
    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1247)
    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1454)
    at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1701)
    at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3611)
    at android.app.FragmentController.onCreateView(FragmentController.java:98)
    at android.app.Activity.onCreateView(Activity.java:6196)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:780)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:428)
    at android.app.Activity.setContentView(Activity.java:2659)
    at comviewappisome.google.sites.iamengineermu.ChoiceSelection.onCreate(ChoiceSelection.java:37)
    at android.app.Activity.performCreate(Activity.java:6984)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1235)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2857)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2986)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1671)
    at android.os.Handler.dispatchMessage(Handler.java:108)
    at android.os.Looper.loop(Looper.java:206)
    at android.app.ActivityThread.main(ActivityThread.java:6784)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:852)

Suggest me a solution for this.

Abhi
  • 1
  • 2

2 Answers2

0

if you are using a activity to Navigation drawer activity

you can try this in the place of getApplicationContext()

I think you should change your java code like this:

submitButton.setOnClickListener(new View.OnClickListener() {
@Override
  public void onClick(View v) {
  Intent gotoChoiceSelection = new Intent(this, ChoiceSelection.class);
            startActivity(gotoChoiceSelection );
 }
});
karthik
  • 528
  • 4
  • 19
0

Try this code, it worked for me:

submitButton.setOnClickListener(new View.OnClickListener() {
   @Override
    public void onClick(View v) {
    Intent gotoChoiceSelection = new Intent(this, ChoiceSelection.class);
        startActivity(gotoChoiceSelection );
 }
});

Just replace getApplicationContext() with this.

Jakob
  • 1,858
  • 2
  • 15
  • 26