0

I am using appcompat_v7 for the first time and trying to create navigation drawer with it. Everything works fine if i create my project using pre-defined activities suggested by eclipse. But when i made changes on fragment_navigation_drawer file, i getting error and my app crashes whenever i run it.

Error

12-08 17:31:40.347: E/AndroidRuntime(25507): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.apps.mobileclub/com.android.apps.mobileclub.ui.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class fragment
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.app.ActivityThread.access$800(ActivityThread.java:144)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.os.Handler.dispatchMessage(Handler.java:102)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.os.Looper.loop(Looper.java:135)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.app.ActivityThread.main(ActivityThread.java:5221)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at java.lang.reflect.Method.invoke(Native Method)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at java.lang.reflect.Method.invoke(Method.java:372)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
12-08 17:31:40.347: E/AndroidRuntime(25507): Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class fragment
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at com.android.apps.mobileclub.ui.MainActivity.onCreate(MainActivity.java:35)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.app.Activity.performCreate(Activity.java:5933)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
12-08 17:31:40.347: E/AndroidRuntime(25507):    ... 10 more
12-08 17:31:40.347: E/AndroidRuntime(25507): Caused by: java.lang.NullPointerException
12-08 17:31:40.347: E/AndroidRuntime(25507):    at java.lang.VMClassLoader.findLoadedClass(Native Method)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:362)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at java.lang.ClassLoader.loadClass(ClassLoader.java:499)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.support.v4.app.Fragment.isSupportFragmentClass(Fragment.java:454)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2123)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547)
12-08 17:31:40.347: E/AndroidRuntime(25507):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
12-08 17:31:40.347: E/AndroidRuntime(25507):    ... 20 more

all the other things are same in java files as they are in when you create a new project using eclipse's suggestions. i just changed two files

fragment_navigation_drawer.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.android.apps.mobileclub.ui.NavigationDrawerFragment" >

    <ListView
        android:id="@+id/nav_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#cccc"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

    <ProgressBar
        android:id="@+id/nav_progress"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

</RelativeLayout>

and in OnCreateView of NavigationDrawerFragment.java

View mainView = inflater.inflate(R.layout.fragment_navigation_drawer,
                container, false);
        mDrawerListView = (ListView) mainView.findViewById(R.id.nav_list);
        mNavProgress = (ProgressBar) mainView.findViewById(R.id.nav_progress);
        cHandler = new HttpClientHandler();

Please tell me Where im going wrong?

Thanks.

Mark Adler
  • 101,978
  • 13
  • 118
  • 158
awaistoor
  • 786
  • 2
  • 11
  • 36

1 Answers1

0

I think you import incorrect class. If you are using appcompat for backward compability you should use

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;

Check this in your code maybe you missplaced this somewhere. If you are using FragmentTransaction you should check it too.

Anatol
  • 941
  • 1
  • 7
  • 13
  • exact same imports has been used .. and as i said early .. i'm using the same code which is auto created by eclipse .. just changed these lines – awaistoor Dec 08 '14 at 19:27