yarolegovich / MaterialPreferences

A highly flexible set of lovely looking views that provides functionality of preferences.
Apache License 2.0
485 stars 67 forks source link

Layout inflating error #1

Closed BarisF closed 8 years ago

BarisF commented 8 years ago

Caused by: android.view.InflateException: Binary XML file line #31: Error inflating class com.yarolegovich.mp.MaterialPreferenceCategory at android.view.LayoutInflater.createView(LayoutInflater.java:620) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at android.view.LayoutInflater.inflate(LayoutInflater.java:353) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at eu.inovim.cisurvey.ui.SettingsActivity.onCreate(SettingsActivity.java:13) at android.app.Activity.performCreate(Activity.java:5133) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)  at android.app.ActivityThread.access$600(ActivityThread.java:141)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:5103)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:525)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)  at dalvik.system.NativeStart.main(Native Method) 

yarolegovich commented 8 years ago

Hi, show your xml layout please.

BarisF commented 8 years ago

I've tested the sample, the same error.

` < com.yarolegovich.mp.MaterialPreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/preference_screen" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context="eu.inovim.cisurvey.ui.SettingsActivity">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="200dp">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scaleType="centerCrop"
            android:src="@drawable/app_icon" />
    </FrameLayout>

    <com.yarolegovich.mp.MaterialPreferenceCategory
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:mpc_title="TEST">
    </com.yarolegovich.mp.MaterialPreferenceCategory>

</com.yarolegovich.mp.MaterialPreferenceScreen>`
yarolegovich commented 8 years ago

Oh, got it! Thanks. This was due to

<item name="android:textColor">?android:colorPrimary</item>

in library/.../styles.xml, in PreferenceHeaderBase style. Devices on pre-lollipop can't access this attribute, it was supposed to be:

<item name="android:textColor">?attr/colorPrimary</item>

Will deploy new version soon.

yarolegovich commented 8 years ago

Done. Pushed both to bintray and github. Update your dependency to compile 'com.yarolegovich:mp:1.0.3' and try running again.

BarisF commented 8 years ago

Thanks it's working great now 👍