0

So I am having this error all the time.

FATAL EXCEPTION: main
                                                                  Process: in.ddas.pretense, PID: 17377
                                                                  java.lang.RuntimeException: Unable to start activity ComponentInfo{in.ddas.pretense/in.ddas.pretense.SensorListActivity}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
                                                                      at android.app.ActivityThread.access$800(ActivityThread.java:144)
                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
                                                                      at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                      at android.os.Looper.loop(Looper.java:135)
                                                                      at android.app.ActivityThread.main(ActivityThread.java:5221)
                                                                      at java.lang.reflect.Method.invoke(Native Method)
                                                                      at java.lang.reflect.Method.invoke(Method.java:372)
                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
                                                                   Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
                                                                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
                                                                      at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
                                                                      at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
                                                                      at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
                                                                      at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
                                                                      at android.app.Activity.setContentView(Activity.java:2144)
                                                                      at in.ddas.pretense.SensorListActivity.onCreate(SensorListActivity.java:30)
                                                                      at android.app.Activity.performCreate(Activity.java:5933)
                                                                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
                                                                      at android.app.ActivityThread.access$800(ActivityThread.java:144) 
                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
                                                                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                      at android.os.Looper.loop(Looper.java:135) 
                                                                      at android.app.ActivityThread.main(ActivityThread.java:5221) 
                                                                      at java.lang.reflect.Method.invoke(Native Method) 
                                                                      at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
                                                                   Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment root.gast.playground.sensor.SensorSelectorFragment: make sure class name exists, is public, and has an empty constructor that is public
                                                                      at android.app.Fragment.instantiate(Fragment.java:618)
                                                                      at android.app.Fragment.instantiate(Fragment.java:582)
                                                                      at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2108)
                                                                      at android.app.Activity.onCreateView(Activity.java:5282)
                                                                      at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:36)
                                                                      at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:75)

And it goes on. Here are mey related activities and Manifest files.

Manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="in.ddas.pretense">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name=".MainActivity"
            android:label="Pretense">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".CollectActivity"
            android:label="Collection Interface" />
        <activity android:name=".SensorListActivity" android:label="Launch Sensor List"/>
        <!--
 ATTENTION: This was auto-generated to add Google Play services to your project for
     App Indexing.  See https://g.co/AppIndexing/AndroidStudio for more information.
        -->
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

    </application>

</manifest>

SensorListActivity

public class SensorListActivity extends FragmentActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sensor_main);

        // wire up the fragments so selector
        // can call display
        SensorDisplayFragment sensorDisplay =
                (SensorDisplayFragment) getSupportFragmentManager()
                        .findFragmentById(R.id.frag_sensor_view);
        SensorSelectorFragment sensorSelect =
                (SensorSelectorFragment) getSupportFragmentManager()
                        .findFragmentById(R.id.frag_sensor_select);
        sensorSelect.setSensorDisplay(sensorDisplay);
    }
}

and corresponding XML

<?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"
    android:orientation="horizontal">
    <fragment
        android:id="@+id/frag_sensor_select"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />

    <fragment
        android:id="@+id/frag_sensor_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />
</LinearLayout>

P.S. Due to size limitation I couldn't post the full error list, which is here: http://pastebin.com/F9vmBsE1

What seems to be the problem? Thanks.

2
  • You need to specify the name of the Fragment in your xml using the xml attribute android:name Commented Aug 22, 2016 at 16:39
  • Yes! Just noticed it! Silly me. Thanks. Please write it so that I can mark it as answer! Commented Aug 22, 2016 at 16:40

1 Answer 1

2

When you're using the fragment tag you'll need to specify the name of the fragment to be inflated using the attribute android:name

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

Comments

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.