I'm having some issue with my pref\_general.xml file as I get the following error message: 

> 
> android.view.InflateException: Binary XML file line #19: Error inflating class android.widget.CheckBox
> 
> 
> 

Then the logcat points the line in my PreferenceActivity where I call "addPreferencesFromResource(R.xml.pref\_general);"

After several hours of trying to sort it out I still have no idea what the issue is so maybe someone is familiar with this or simply another set of eyes can find the problem.

> 
> **pref\_general.xml:**
> 
> 
> 

```
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

<PreferenceCategory
    android:title="General">
    <!--  <SwitchPreference
        android:key="NOTIF"
        android:title="Activer ou dأ©sactiver les notifications" /> -->
    <CheckBoxPreference
    android:defaultValue="true"
    android:key="NOTIF"
    android:title="Activer/Désactiver les notifications" />

    <Preference
        android:key="cache"
        android:title="Vider le cache"/>

    <Preference
        android:key="FAQ"
        android:title="FAQ"
        android:summary="Questions fréquentes"
        />
    <Preference
        android:key="feedback"
        android:title="FeedBack"
        android:summary="S'il vous plaît envoyer nous un FeedBack"
        />
    <Preference
        android:key="version"
        android:title="Version"
        android:summary="1.0.0(Build A750)"
        />
    <Preference
        android:key="Copyright"
        android:title="Copyright"
        android:summary="Toutes les matières contenues sur ce site sont Protégées par Nextice Inc, droit d'auteur et ne peuvent pas étre reproduits, distribués, transmis, affichés, publiأés ou diffusés sans l'premission écrit préalable de la société Nextice."
        android:selectable="true"
        android:enabled="false"
        />

    </PreferenceCategory>
 </PreferenceScreen>

```

Also, i'm trying this in Android 5.1 everyting is fine, but in api 19 ( in my phone ) nothing working ? 

> 
> **SettingsActivity:**
> 
> 
> 

```
public class SettingsActivity extends PreferenceActivity {

CheckBoxPreference notification;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.pref_general);

    LinearLayout root = (LinearLayout)findViewById(android.R.id.list).getParent().getParent().getParent();
    Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.settings, root, false);
    root.addView(bar, 0); // insert at top
    bar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(SettingsActivity.this, MainActivity.class);
            startActivity(intent);
            finish();
        }
    });

    SharedPreferences settingsPrefs = PreferenceManager.getDefaultSharedPreferences(this);
    notification = (CheckBoxPreference) findPreference("NOTIF");
    notification.setOnPreferenceChangeListener(new OnPreferenceChangeListener(){

        public boolean onPreferenceChange(Preference preference,
                Object newValue) {
            if (newValue.toString().equals("true"))
            {
                notificationsOn();
                //PushService.setDefaultPushCallback(getApplicationContext(), MainActivity.class);
                //PushService.subscribe(getApplicationContext(), null, MainActivity.class, R.drawable.ic_notification);

            }
            else
            {
                notificationsOff();
                //PushService.setDefaultPushCallback(getApplicationContext(), null);
                //PushService.unsubscribe(getApplicationContext(), null);
                //PushService.unsubscribe(getApplicationContext(), "");
            }
            return true;
        }

        private void notificationsOn() {
            // TODO Auto-generated method stub
            /*Toast.makeText(SettingsActivity.this, "Notifications: Activée", Toast.LENGTH_SHORT).show();
            PushService.setDefaultPushCallback(getApplicationContext(), MainActivity.class);
            Pushbots.sharedInstance().setNotificationEnabled(true);*/

        }

        private void notificationsOff() {
            // TODO Auto-generated method stub
            /*Toast.makeText(SettingsActivity.this, "Notifications: Desactivée", Toast.LENGTH_SHORT).show();
            PushService.setDefaultPushCallback(getApplicationContext(), null);
            Pushbots.sharedInstance().setNotificationEnabled(false);*/

        }

    });

    Preference myPref = (Preference) findPreference("feedback");
    myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {

            Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
                    "mailto", "feedback@soft-grip-support.esy.es", null));
            emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Votre Sujet");
            emailIntent.putExtra(Intent.EXTRA_TEXT, "Votre FeedBack (Texte)");
            startActivity(Intent.createChooser(emailIntent, "Envoyer email à"));

            return false;

        }
    });

    Preference ver =  (Preference) findPreference("version");
    ver.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {

         Toast.makeText(SettingsActivity.this, "1.0.0(Build A750)", Toast.LENGTH_LONG).show();

            return false;

        }
    });

    Preference cache =  (Preference) findPreference("cache");
    cache.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {

            deleteCache(SettingsActivity.this);
            Toast.makeText(SettingsActivity.this, "Cache Vidée", Toast.LENGTH_LONG).show();

            return false;

        }
    });

    Preference faq = (Preference)findPreference("FAQ");
    faq.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference arg0) {

            String url = "www.soft-grip.net/faq";
            Intent intent = new Intent(SettingsActivity.this, ActivityWebView.class);
            intent.putExtra("share", url);
            startActivity(intent);

            /*String url = "http://www.google.com";
            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            startActivity(i);*/

            return false;
        }
    });

    Preference fb =  (Preference) findPreference("fb");
    fb.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {

            try {
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/503359346436234"));
                startActivity(intent);
            } catch(Exception e) {
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/Soft.Grip.Inc")));
            }

            return false;

        }
    });

    Preference twt =  (Preference) findPreference("twt");
    twt.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {

            Intent intent = null;
            try {
                // get the Twitter app if possible
                getPackageManager().getPackageInfo("com.twitter.android", 0);
                intent = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?user_id=1588577185"));
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            } catch (Exception e) {
                // no Twitter app, revert to browser
                intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/SoftGripInc"));
            }
            startActivity(intent);

            return false;

        }
    });

    Preference sms = (Preference)findPreference("sms");
    sms.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference arg0) {

            Intent sendIntent= new Intent(Intent.ACTION_VIEW);
            sendIntent.putExtra("sms_body", "smsBody");
            sendIntent.setType("vnd.android-dir/mms-sms");
            startActivity(sendIntent);

            return false;
        }
    });

    Preference http =  (Preference) findPreference("http");
    http.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {

            String url = "http://www.soft-grip.net";
            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            startActivity(i);

            return false;

        }
    });

    Preference merci =  (Preference) findPreference("deve");
    merci.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {

            ShowDialog(SettingsActivity.this, "Merci", "Merci d'utiliser l'App Soft Grip!\nDéveloppeur : Soft Grip Inc. \nTous les droits réservés. \nSoft-Grip Inc © 2015 ", false);
            return false;

        }

        public void ShowDialog(Context context, String title, String message, Boolean status) {
    AlertDialog alertDialog = new AlertDialog.Builder(context).create();

    // Setting Dialog Title
    alertDialog.setTitle(null);

    // Setting Dialog Message
    alertDialog.setMessage(message);

    // Setting alert dialog icon
//  alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);

    // Setting OK Button
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {

        }
    });

    // Showing Alert Message
    alertDialog.show();

}
    });

}

public static void deleteCache(Context context) {
    try {
        File dir = context.getCacheDir();
        if (dir != null && dir.isDirectory()) {
            deleteDir(dir);
        }
    } catch (Exception e) {}
}

public static boolean deleteDir(File dir) {
    if (dir != null && dir.isDirectory()) {
        String[] children = dir.list();
        for (int i = 0; i < children.length; i++) {
            boolean success = deleteDir(new File(dir, children[i]));
            if (!success) {
                return false;
            }
        }
    }
    return dir.delete();
}

```

> 
> **Logcat:**
> 
> 
> 

```
android.view.InflateException: Binary XML file line #19: Error inflating class android.widget.CheckBox
    at android.view.LayoutInflater.createView(LayoutInflater.java:627)
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:676)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:701)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:470)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
    at android.preference.Preference.onCreateView(Preference.java:531)
    at android.preference.Preference.getView(Preference.java:494)
    at android.preference.PreferenceGroupAdapter.getView(PreferenceGroupAdapter.java:222)
    at android.widget.AbsListView.obtainView(AbsListView.java:2351)
    at android.widget.ListView.makeAndAddView(ListView.java:1816)
    at android.widget.ListView.fillDown(ListView.java:697)
    at android.widget.ListView.fillFromTop(ListView.java:763)
    at android.widget.ListView.layoutChildren(ListView.java:1646)
    at android.widget.AbsListView.onLayout(AbsListView.java:2207)
    at android.view.View.layout(View.java:15033)
    at android.view.ViewGroup.layout(ViewGroup.java:4799)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1692)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1534)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1443)
    at android.view.View.layout(View.java:15033)
    at android.view.ViewGroup.layout(ViewGroup.java:4799)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1692)
    at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1677)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1445)
    at android.view.View.layout(View.java:15033)
    at android.view.ViewGroup.layout(ViewGroup.java:4799)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1692)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1534)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1443)
    at android.view.View.layout(View.java:15033)
    at android.view.ViewGroup.layout(ViewGroup.java:4799)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
    at android.view.View.layout(View.java:15033)
    at android.view.ViewGroup.layout(ViewGroup.java:4799)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1692)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1534)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1443)
    at android.view.View.layout(View.java:15033)
    at android.view.ViewGroup.layout(ViewGroup.java:4799)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
    at android.view.View.layout(View.java:15033)
    at android.view.ViewGroup.layout(ViewGroup.java:4799)
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2143)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1854)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1062)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5998)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
    at android.view.Choreographer.doCallbacks(Choreographer.java:574)
    at android.view.Choreographer.doFrame(Choreographer.java:544)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5590)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1280)
    at com.android.into

```