Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MaterialCardView crashes with material:1.1.0

I am using MaterialCardView as my cardview layout. Now, Android-studio started showing me that instead of current implementation "com.google.android.material:material:1.0.0", I should update to 1.1.0

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     android:id="@+id/edit_name"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_gravity="center"     android:orientation="vertical"     android:layout_margin="@dimen/activity_vertical_margin">    <com.google.android.material.card.MaterialCardView       android:layout_width="match_parent"       android:layout_height="wrap_content"       app:cardCornerRadius="8dp"       app:cardElevation="8dp">        <...more layout> </com.google.android.material.card.MaterialCardView> </LinearLayout> 

with 1.1.0, I am getting crash Error inflating class com.google.android.material.card.MaterialCardView

So, I have 3 cases:

  1. stick to 1.0.0 and use MaterialCardView (working, but not preferred)
  2. Update to 1.1.0 (or 1.2.0-alpha) and use androidx.CardView (working, but not preferred)
  3. Update to 1.1.0 and change the MaterialCardView (preferred, but not working)

Since I want to go with option #3, and I don't have any solution, can anybody give a clue?

Update My style (I have style & style-night also. Here I am posting the style only):

<resources>    <!-- Base application theme. -->   <style name="AppTheme" parent="Theme.AppCompat.DayNight">     <!-- Customize your theme here. -->     <item name="colorPrimary">@color/colorPrimary</item>     <item name="colorPrimaryDark">@color/colorPrimaryDark</item>     <item name="colorAccent">@color/colorAccent</item>   </style>    <style name="AppTheme.NoActionBar">     <item name="windowActionBar">false</item>     <item name="windowNoTitle">true</item>   </style>    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />    <style name="ThemeOverlay.AppCompat.navTheme">     <!-- Color of text and icon when SELECTED -->     <item name="colorPrimary">#ffffff</item>     <!-- Background color when SELECTED -->     <item name="colorControlHighlight">@color/colorPrimary</item>    </style>  </resources> 

And here is the error(from Logcat)

2020-02-12 13:34:18.171 12562-12562/com.example.phocast E/AndroidRuntime: FATAL EXCEPTION: main     Process: com.example.phocast, PID: 12562     android.view.InflateException: Binary XML file line #10 in com.example.phocast:layout/fragment_place: Binary XML file line #10 in com.example.phocast:layout/fragment_place: Error inflating class com.google.android.material.card.MaterialCardView     Caused by: android.view.InflateException: Binary XML file line #10 in com.example.phocast:layout/fragment_place: Error inflating class com.google.android.material.card.MaterialCardView     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.createViewFromTag(LayoutInflater.java:1006)         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 android.view.LayoutInflater.inflate(LayoutInflater.java:534)         at android.view.LayoutInflater.inflate(LayoutInflater.java:481)         at com.example.phocast.MainActivity.onOptionsItemSelected(MainActivity.java:555)         at android.app.Activity.onMenuItemSelected(Activity.java:4137)         at androidx.fragment.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:383)         at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:219)         at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)         at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)         at androidx.appcompat.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:64)         at androidx.appcompat.widget.Toolbar$1.onMenuItemClick(Toolbar.java:207)         at androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:781)         at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)         at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)         at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)         at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:981)         at androidx.appcompat.widget.ActionMenuView.invokeItem(ActionMenuView.java:625)         at androidx.appcompat.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:151)         at android.view.View.performClick(View.java:7125)         at android.view.View.performClickInternal(View.java:7102)         at android.view.View.access$3500(View.java:801)         at android.view.View$PerformClick.run(View.java:27336)         at android.os.Handler.handleCallback(Handler.java:883)         at android.os.Handler.dispatchMessage(Handler.java:100)         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: 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.obtainStyledAttributes(ThemeEnforcement.java:81)         at com.google.android.material.card.MaterialCardView.<init>(MaterialCardView.java:124)         at com.google.android.material.card.MaterialCardView.<init>(MaterialCardView.java:114)         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.createViewFromTag(LayoutInflater.java:1006)          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 android.view.LayoutInflater.inflate(LayoutInflater.java:534)          at android.view.LayoutInflater.inflate(LayoutInflater.java:481)          at com.example.phocast.MainActivity.onOptionsItemSelected(MainActivity.java:555)          at android.app.Activity.onMenuItemSelected(Activity.java:4137)          at androidx.fragment.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:383)          at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:219)          at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)          at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)          at androidx.appcompat.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:64)          at androidx.appcompat.widget.Toolbar$1.onMenuItemClick(Toolbar.java:207)          at androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:781)          at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)          at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)          at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)          at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:981)          at androidx.appcompat.widget.ActionMenuView.invokeItem(ActionMenuView.java:625)          at androidx.appcompat.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:151)          at android.view.View.performClick(View.java:7125)          at android.view.View.performClickInternal(View.java:7102)          at android.view.View.access$3500(View.java:801)          at android.view.View$PerformClick.run(View.java:27336)          at android.os.Handler.handleCallback(Handler.java:883)          at android.os.Handler.dispatchMessage(Handler.java:100)          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)  2020-02-12 13:34:18.620 12562-12584/com.example.phocast I/example.phocas: Background young concurrent copying GC freed 110384(4259KB) AllocSpace objects, 46(1212KB) LOS objects, 41% free, 7792KB/12MB, paused 1.092ms total 150.548ms 2020-02-12 13:34:18.692 12562-12562/com.example.phocast I/Process: Sending signal. PID: 12562 SIG: 9 
like image 766
BaRud Avatar asked Feb 12 '20 06:02

BaRud


1 Answers

you can just keep it in your materialcardview itself also:

 <com.google.android.material.card.MaterialCardView       android:layout_width="match_parent"       android:layout_height="wrap_content"       app:cardCornerRadius="8dp"      **** android:theme="@style/Theme.MaterialComponents.Light"  *****       app:cardElevation="8dp"> 
like image 198
j2emanue Avatar answered Oct 20 '22 04:10

j2emanue