InflateException in Snackbar
ZieIony opened this issue · comments
Extracted from #105
final Snackbar snackbar = new Snackbar(MainActivity.this, "Hello world!", getResources().getInteger(R.integer.carbon_snackbarDuration));
snackbar.show(root);
Caused by: android.view.InflateException: Binary XML file line #29: Error inflating class <unknown>
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:647)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.view.View.inflate(View.java:24394)
at carbon.widget.SnackbarView.initSnackbar(SnackbarView.java:28)
at carbon.widget.SnackbarView.<init>(SnackbarView.java:17)
at carbon.widget.Snackbar$SnackbarLayout.<init>(Snackbar.java:327)
at carbon.widget.Snackbar.<init>(Snackbar.java:67)
i have problem with this, you can help me?
Could you please provide more information? There should be more stacktrace telling which view's inflation caused the crash. Could you also provide Carbon version, Android version and phone model?
Carbon Version: api 'tk.zielony:carbon:0.16.0.1'
Android Pixel OS: Pie
Error:
--------- beginning of crash
2019-11-25 15:24:24.626 31020-31020/com.company E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.company, PID: 31020
android.view.InflateException: Binary XML file line #29: Binary XML file line #29: Error inflating class <unknown>
Caused by: android.view.InflateException: Binary XML file line #29: Error inflating class <unknown>
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:647)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.view.View.inflate(View.java:24394)
at carbon.widget.SnackbarView.initSnackbar(SnackbarView.java:28)
at carbon.widget.SnackbarView.<init>(SnackbarView.java:17)
at carbon.widget.Snackbar$SnackbarLayout.<init>(Snackbar.java:327)
at carbon.widget.Snackbar.<init>(Snackbar.java:67)
at com.company.ui.activity.MainActivity.onClickBtnWithdraw(MainActivity.java:87)
at com.company.ui.activity.MainActivity_ViewBinding$1.doClick(MainActivity_ViewBinding.java:53)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:18)
at android.view.View.performClick(View.java:6599)
at android.view.View.performClickInternal(View.java:6576)
at android.view.View.access$3100(View.java:780)
at android.view.View$PerformClick.run(View.java:25926)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
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:858)
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 36: TypedValue{t=0x2/d=0x7f040122 a=3}
at android.content.res.TypedArray.getColor(TypedArray.java:477)
at carbon.Carbon.getDefaultColorStateList(Carbon.java:92)
at carbon.Carbon.initRippleDrawable(Carbon.java:167)
at carbon.widget.Button.initButton(Button.java:224)
at carbon.widget.Button.<init>(Button.java:111)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.view.View.inflate(View.java:24394)
at carbon.widget.SnackbarView.initSnackbar(SnackbarView.java:28)
at carbon.widget.SnackbarView.<init>(SnackbarView.java:17)
at carbon.widget.Snackbar$SnackbarLayout.<init>(Snackbar.java:327)
at carbon.widget.Snackbar.<init>(Snackbar.java:67)
at com.company.ui.activity.MainActivity.onClickBtnWithdraw(MainActivity.java:87)
at com.company.ui.activity.MainActivity_ViewBinding$1.doClick(MainActivity_ViewBinding.java:53)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:18)
at android.view.View.performClick(View.java:6599)
at android.view.View.performClickInternal(View.java:6576)
at android.view.View.access$3100(View.java:780)
at android.view.View$PerformClick.run(View.java:25926)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
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:858)
This looks like a problem with configuration. Are you using a carbon_Theme
for your application? It has the attribute that is most likely missing in your case.
Sorry, did I put carbon_theme in style.xml? or in the root view?
Each application needs a correct theme to work. Usually you extend a Theme.AppCompat
or a Theme.MaterialComponents
. To work with Carbon you have to extend one of carbon_Theme
s. For example carbon_Theme.Light.NoActionBar
it works! thank you.