我最近切换到了android,尝试显示小吃栏时遇到一些问题。
我这样构建我的小吃店:
Snackbar snackbar = Snackbar.make(coordinatorLayout, Strings.empty(), Snackbar.LENGTH_INDEFINITE);
小吃店属于此类com.google.android.material.snackbar.Snackbar
我已将此添加为依赖项
com.google.android.material:material:1.1.0-alpha06
对于我的活动,我使用了Theme.AppCompat.Light.NoActionBar
和Theme.MaterialComponents.Light.NoActionBar.Bridge
,但是无论使用哪个主题,我都遇到相同的问题。
现在我得到的错误是:
java.lang.UnsupportedOperationException: Failed to resolve attribute at index 6: TypedValue{t=0x2/d=0x101009b a=1}
at android.content.res.TypedArray.getColorStateList(TypedArray.java:528)
at android.widget.TextView.<init>(TextView.java:783)
at android.widget.TextView.<init>(TextView.java:704)
at android.widget.TextView.<init>(TextView.java:700)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at com.google.android.material.snackbar.Snackbar.make(Snackbar.java:188)
android.view.InflateException: Binary XML file line #26: Binary XML file line #26: Error inflating class <unknown>
Caused by: android.view.InflateException: Binary XML file line #26: 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:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
任何想法为什么会崩溃?
谢谢
您可以执行以下操作:
添加依赖项:-
implementation 'com.google.android.material:material:1.0.0'
并使用Snackbar这样:
Snackbar.make(findViewById(android.R.id.content), "Please click BACK again to exit", Snackbar.LENGTH_LONG).show();
希望这对您有用。