sakibguy / worked-issues

arget medi a[rpescriptionmedicie] &ssets[dr] (reeeverse._ax:p)
2 stars 0 forks source link

[ORG] USA-UDACITY: layout/settings_activity: Error inflating class fragment #11

Closed sakibguy closed 2 years ago

sakibguy commented 2 years ago

Problem

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.quakereport/com.example.android.quakereport.SettingsActivity}: android.view.InflateException: Binary XML file line #7 in com.example.android.quakereport:layout/settings_activity: Binary XML file line #7 in com.example.android.quakereport:layout/settings_activity: Error inflating class fragment
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: android.view.InflateException: Binary XML file line #7 in com.example.android.quakereport:layout/settings_activity: Binary XML file line #7 in com.example.android.quakereport:layout/settings_activity: Error inflating class fragment
     Caused by: android.view.InflateException: Binary XML file line #7 in com.example.android.quakereport:layout/settings_activity: Error inflating class fragment
     Caused by: java.lang.NullPointerException
        at java.lang.VMClassLoader.findLoadedClass(Native Method)
        at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.support.v4.app.Fragment.isSupportFragmentClass(Fragment.java:454)
        at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2252)
        at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:120)
        at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:357)
        at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:31)
        at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:80)
        at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1069)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:997)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:659)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:481)
        at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)
        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136)
        at com.example.android.quakereport.SettingsActivity.onCreate(SettingsActivity.java:13)

20220426_1 20220426_2

sakibguy commented 2 years ago

Fixed

Missed android:name="com.example.android.quakereport.SettingsActivity$EarthquakePreferenceFragment"

In settings_activity.xml

<!-- Layout for our Settings Activity, containing a Preference Fragment -->
<fragment
    android:name="com.example.android.quakereport.SettingsActivity$EarthquakePreferenceFragment"
    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.example.android.quakereport.SettingsActivity">
</fragment>

In SettingsActivity.java

package com.example.android.quakereport;

import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

public class SettingsActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings_activity);
    }

    public static class EarthquakePreferenceFragment extends PreferenceFragment {

    }
}