0

In my application I used Calligraphy3 library for set custom font.
And I used TextInputLayout for set some effects to EditText, But after run application show me force close error

I used this versions :

implementation 'io.github.inflationx:calligraphy3:3.1.1'
implementation 'io.github.inflationx:viewpump:2.0.3'

My xml code :

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
        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:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".ui.signup.fragments.signin.SignInFragment"
        android:id="@+id/signInFrag_root"
        android:background="@color/colorBG">
    <!--Phone number-->
    <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/signInFrag_phoneInpLay"
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:boxStrokeColor="@color/colorAccent"
            app:boxStrokeWidth="@dimen/_1sdp"
            android:layout_marginTop="@dimen/_15sdp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            android:layout_marginLeft="@dimen/_15sdp"
            android:layout_marginStart="@dimen/_15sdp"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginEnd="@dimen/_15sdp"
            android:layout_marginRight="@dimen/_15sdp">

        <EditText
                android:id="@+id/signInFrag_phoneEdt"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/transparent"
                android:hint="@string/insertYourPhoneNumber"
                android:maxLines="1"
                app:drawableRightCompat="@drawable/ic_phone"
                android:paddingLeft="@dimen/_10sdp"
                android:paddingRight="@dimen/_10sdp"
                android:singleLine="true"
                android:maxLength="11"
                android:gravity="right|center_vertical"
                android:inputType="phone"
                android:textColorHint="@color/colorLightGray"
                android:textSize="@dimen/_10sdp"/>

    </com.google.android.material.textfield.TextInputLayout>

Logcat error :

android.view.InflateException: Binary XML file line #12 in com.app.android:layout/fragment_sign_in: Binary XML file line #12 in com.app.android:layout/fragment_sign_in: Error inflating class com.google.android.material.textfield.TextInputLayout
    Caused by: android.view.InflateException: Binary XML file line #12 in com.app.android:layout/fragment_sign_in: Error inflating class com.google.android.material.textfield.TextInputLayout
    Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:854)
        at android.view.LayoutInflater.createView(LayoutInflater.java:776)
        at io.github.inflationx.viewpump.ViewPumpLayoutInflater.createCustomViewInternal(ViewPumpLayoutInflater.java:204)
        at io.github.inflationx.viewpump.ViewPumpLayoutInflater.access$000(ViewPumpLayoutInflater.java:14)
        at io.github.inflationx.viewpump.ViewPumpLayoutInflater$PrivateWrapperFactory2ViewCreator.onCreateView(ViewPumpLayoutInflater.java:405)
        at io.github.inflationx.viewpump.FallbackViewCreationInterceptor.intercept(FallbackViewCreationInterceptor.java:11)
        at io.github.inflationx.viewpump.InterceptorChain.proceed(InterceptorChain.java:37)
        at io.github.inflationx.calligraphy3.CalligraphyInterceptor.intercept(CalligraphyInterceptor.java:18)
        at io.github.inflationx.viewpump.InterceptorChain.proceed(InterceptorChain.java:37)
        at io.github.inflationx.viewpump.ViewPump.inflate(ViewPump.java:49)
        at io.github.inflationx.viewpump.ViewPumpLayoutInflater$PrivateWrapperFactory2.onCreateView(ViewPumpLayoutInflater.java:385)
        at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:239)
        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.rInflate(LayoutInflater.java:1123)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
        at io.github.inflationx.viewpump.ViewPumpLayoutInflater.inflate(ViewPumpLayoutInflater.java:55)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
        at com.app.android.ui.signup.fragments.signin.SignInFragment.onCreateView(SignInFragment.kt:27)
        at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2698)
        at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:320)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1187)
        at androidx.fragment.app.FragmentManager.addAddedFragments(FragmentManager.java:2224)
        at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1997)
        at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1953)
        at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1849)
        at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2629)
        at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2577)
        at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2722)
        at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:346)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1188)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1356)
        at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1497)
        at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2625)
2020-05-19 18:23:48.558 10326-10326/com.app.android E/AndroidRuntime:     at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2577)
        at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:247)
        at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:541)
        at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:210)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1433)
        at android.app.Activity.performStart(Activity.java:7980)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3578)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2220)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:8016)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1076)
     Caused by: java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).
        at com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:248)
        at com.google.android.material.internal.ThemeEnforcement.checkMaterialTheme(ThemeEnforcement.java:222)
        at com.google.android.material.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:150)
        at com.google.android.material.internal.ThemeEnforcement.obtainTintedStyledAttributes(ThemeEnforcement.java:120)
        at com.google.android.material.textfield.TextInputLayout.<init>(TextInputLayout.java:424)
        at com.google.android.material.textfield.TextInputLayout.<init>(TextInputLayout.java:396)
            ... 57 more

Show me error for this line :

com.google.android.material.textfield.TextInputLayout

How can I fix it?

pRaNaY
  • 24,642
  • 24
  • 96
  • 146
Dr Circle
  • 51
  • 6
  • Are you using androidx? – Ticherhaz FreePalestine May 19 '20 at 14:01
  • @Ticherhaz, yes my friend – Dr Circle May 19 '20 at 14:05
  • Are you sure you are using material library dependency ? Can you update your question with build.gradle file content? – AgentP May 19 '20 at 14:05
  • @PraveenSP, yes my friend `implementation 'androidx.appcompat:appcompat:1.2.0-rc01' implementation 'androidx.core:core-ktx:1.3.0-rc01' implementation 'com.google.android.material:material:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.viewpager:viewpager:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.core:core:1.2.0'` – Dr Circle May 19 '20 at 14:06
  • but right now you are using the old one, not androidx. change it to androidx – Ticherhaz FreePalestine May 19 '20 at 14:07
  • @DrCircle You need to update your app theme as MaterialComponents Theme. Please check: https://stackoverflow.com/a/53476116/2949612 – pRaNaY May 19 '20 at 14:07
  • @Ticherhaz, please see my above comment. i used Androidx and last verion – Dr Circle May 19 '20 at 14:09
  • @DrCircle but at your post, you implement this `com.google.android.material.textfield.TextInputLayout` – Ticherhaz FreePalestine May 19 '20 at 14:11
  • @Ticherhaz can you send to me true code? – Dr Circle May 19 '20 at 14:14

0 Answers0