EDIT2:
Updated the sources to the current snapshot. Issue is still persisting! (also changed by censor names as it was causing a little confusion, thats my bad i should have chosen the words better)
EDIT:
the package name has been modified to protect an NDA. Its not actually com.private.fragment. Please assume along with me that all package names are intact and working correctly! Thanks
I’m building for Gingerbread primarily, and I’m trying to figure out this Fragment thing (I’m using the v13 Compatibility Pack, which correct me if I’m wrong is just an updated version of the v4 Compatibility Pack) And honestly I just cant figure it out. In fact i get the
android.view.InflateException: Binary XML file line #45: Error inflating class fragment
issue.
I have a main.xml layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/MainPage"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/Header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/ImageView01"
android:layout_width="match_parent"
android:layout_height="42sp"
android:scaleType="fitXY"
android:src="@drawable/top_header" />
</LinearLayout>
<LinearLayout
android:id="@+id/SubHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="28sp"
android:scaleType="fitXY"
android:src="@drawable/top_sub_header" />
</LinearLayout>
<fragment
android:id="@+id/fragment1"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.private.thisishidden.IconList" >
</fragment>
</LinearLayout>
and i have my main FragmentActivity
package com.private.thisishidden;
import android.app.Activity;
import android.os.Bundle;
public class ThisIsHiddenActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
I then have a list of icons in a scollable view layout xml file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/MainPage"
android:orientation="vertical" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/Scollables"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10sp"
android:orientation="vertical" >
<TableLayout
android:id="@+id/IconLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10sp" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_search" />
<TextView
android:id="@+id/textView1"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="NEAR ME" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView3"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_4" />
<TextView
android:id="@+id/textView2"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="LODGING" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView4"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_1" />
<TextView
android:id="@+id/textView3"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="ATTRACTIONS" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView5"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_events" />
<TextView
android:id="@+id/textView4"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="EVENTS" />
</LinearLayout>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10sp" >
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView6"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_7" />
<TextView
android:id="@+id/textView5"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="WELLNESS" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView7"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_6" />
<TextView
android:id="@+id/textView6"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="FOOD" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView8"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_8" />
<TextView
android:id="@+id/textView7"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="SHOPPING" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView9"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_2" />
<TextView
android:id="@+id/textView8"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="PLACES" />
</LinearLayout>
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10sp" >
<LinearLayout
android:id="@+id/linearLayout9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView10"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_9" />
<TextView
android:id="@+id/textView9"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="CIRCLE" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView11"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_3" />
<TextView
android:id="@+id/textView10"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="RECREATION" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView12"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_fav" />
<TextView
android:id="@+id/textView11"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="FAVOURITES" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:clickable="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView13"
android:layout_width="65sp"
android:layout_height="55sp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4sp"
android:src="@drawable/cat_5" />
<TextView
android:id="@+id/textView12"
style="@style/MainPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="INFO" />
</LinearLayout>
</TableRow>
</TableLayout>
<ImageView
android:id="@+id/imageView14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="35sp"
android:src="@drawable/videoinfo" />
</LinearLayout>
</ScrollView>
</LinearLayout>
and then of course the corresponding class as defined in the main.xml
package com.private.thisishidden;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class IconList extends Fragment {
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// inflate layout
return inflater.inflate(R.layout.icon_view, container, false);
}
}
I’ve looked through all the examples and honestly this is just the last build that doesnt work, sort of at my wits end at the moment.
So if someone can help point me in the right direction to getting fragments working, that would be awesome.
(obviously the error above happens the moment the app is launched)
PLEASE HELP!
EDIT 2: Not sure how much this will help but heres the LogCat output
11-24 10:49:09.501: W/ActivityThread(6998): Application com.private.thisishidden is waiting for the debugger on port 8100...
11-24 10:49:09.521: I/System.out(6998): Sending WAIT chunk
11-24 10:49:09.551: I/dalvikvm(6998): Debugger is active
11-24 10:49:09.722: I/System.out(6998): Debugger has connected
11-24 10:49:09.722: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:09.922: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:10.122: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:10.322: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:10.522: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:10.723: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:10.923: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:11.123: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:11.323: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:11.523: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:11.734: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:11.934: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:12.134: I/System.out(6998): waiting for debugger to settle...
11-24 10:49:12.334: I/System.out(6998): debugger has settled (1429)
11-24 10:49:12.464: D/dalvikvm(6998): GC_EXTERNAL_ALLOC freed 44K, 50% free 2715K/5379K, external 0K/0K, paused 37ms
11-24 10:51:51.810: I/dalvikvm(7311): Debugger is active
11-24 10:51:51.980: I/System.out(7311): Debugger has connected
11-24 10:51:51.980: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:52.180: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:52.390: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:52.590: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:52.791: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:52.991: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:53.191: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:53.381: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:53.591: I/System.out(7311): waiting for debugger to settle...
11-24 10:51:53.792: I/System.out(7311): debugger has settled (1431)
11-24 10:51:53.952: D/dalvikvm(7311): GC_EXTERNAL_ALLOC freed 47K, 50% free 2715K/5379K, external 0K/0K, paused 29ms
11-24 10:52:13.881: D/AndroidRuntime(7311): Shutting down VM
11-24 10:52:13.881: W/dalvikvm(7311): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
11-24 10:52:13.961: E/AndroidRuntime(7311): FATAL EXCEPTION: main
11-24 10:52:13.961: E/AndroidRuntime(7311): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.private.thisishidden/com.private.thisishidden.thisishiddenActivity}: android.view.InflateException: Binary XML file line #45: Error inflating class fragment
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.app.ActivityThread.access$1500(ActivityThread.java:132)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.os.Handler.dispatchMessage(Handler.java:99)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.os.Looper.loop(Looper.java:143)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.app.ActivityThread.main(ActivityThread.java:4196)
11-24 10:52:13.961: E/AndroidRuntime(7311): at java.lang.reflect.Method.invokeNative(Native Method)
11-24 10:52:13.961: E/AndroidRuntime(7311): at java.lang.reflect.Method.invoke(Method.java:507)
11-24 10:52:13.961: E/AndroidRuntime(7311): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-24 10:52:13.961: E/AndroidRuntime(7311): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-24 10:52:13.961: E/AndroidRuntime(7311): at dalvik.system.NativeStart.main(Native Method)
11-24 10:52:13.961: E/AndroidRuntime(7311): Caused by: android.view.InflateException: Binary XML file line #45: Error inflating class fragment
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
11-24 10:52:13.961: E/AndroidRuntime(7311): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:224)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.app.Activity.setContentView(Activity.java:1702)
11-24 10:52:13.961: E/AndroidRuntime(7311): at com.private.thisishidden.thisishiddenActivity.onCreate(ThisIsHiddenActivity.java:12)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780)
11-24 10:52:13.961: E/AndroidRuntime(7311): ... 11 more
11-24 10:52:13.961: E/AndroidRuntime(7311): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.private.thisishidden-2.apk]
11-24 10:52:13.961: E/AndroidRuntime(7311): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
11-24 10:52:13.961: E/AndroidRuntime(7311): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
11-24 10:52:13.961: E/AndroidRuntime(7311): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.view.LayoutInflater.createView(LayoutInflater.java:471)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:549)
11-24 10:52:13.961: E/AndroidRuntime(7311): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
11-24 10:52:13.961: E/AndroidRuntime(7311): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
11-24 10:52:13.961: E/AndroidRuntime(7311): ... 20 more
Your class needs to extend
FragmentActivityand NOTActivityas you are using the compat lib.Edit And rename your class from
FragmentActivitygiven that this is the name used by the compat lib.