在androidx中显示Snackbar时的问题

问题描述 投票:0回答:1

我最近切换到了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.NoActionBarTheme.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)

任何想法为什么会崩溃?

谢谢

android androidx android-snackbar
1个回答
-1
投票

您可以执行以下操作:

添加依赖项:-

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();

希望这对您有用。

© www.soinside.com 2019 - 2024. All rights reserved.