Android 将targetSDK更新为28后,Snackbar给出错误消息?

Android 将targetSDK更新为28后,Snackbar给出错误消息?,android,sdk,android-snackbar,Android,Sdk,Android Snackbar,将我的targetSDK版本更新为28后,我无法使用SnackBar 必须是BaseTransientBottomBar.LENGTH_Unfinite中的一个, BaseTransientBottomBar.LENGTH_SHORT, BaseTransientBottomBar.LENGTH\u LONG或值必须为≥ 1(was-2) 较少的检验信息:确保当参数仅在方法中时 允许一组特定的常量,调用将遵守这些规则 这就是我所做的- Snackbar snackbar = Snackbar.

将我的
targetSDK
版本更新为28后,我无法使用SnackBar

必须是BaseTransientBottomBar.LENGTH_Unfinite中的一个, BaseTransientBottomBar.LENGTH_SHORT, BaseTransientBottomBar.LENGTH\u LONG或值必须为≥ 1(was-2) 较少的检验信息:确保当参数仅在方法中时 允许一组特定的常量,调用将遵守这些规则

这就是我所做的-

Snackbar snackbar = Snackbar.make(Objects.requireNonNull(parentLayout), "Kindly allow all the permissions for  App  for a better  experience...", Snackbar.LENGTH_LONG);
 snackbar.setDuration(Snackbar.LENGTH_INDEFINITE);
 snackbar.show();
阅读

snackbar.setDuration(int duration)

设置显示视图的时间。你应该试试看

snackbar.setDuration(10000);

将Material从
'com.google.android.Material:Material:1.0'
升级到
'com.google.android.Material:Material:1.1.0'
版本为我解决了这个问题。

我不明白你已经在make方法中将duration值作为第三个参数赋予snackbar,而不是你为什么再次赋予它?它工作正常,但是什么呢在接受设置的持续时间之前,Snackbar.LENGTH\u Unfinite发生了此情况。@creativecoder
LENGTH\u Unfinite
将显示Snackbar的时间和不确定的时间段。如果您使用
LENGTH\u LONG
@creativecoder将更好。哦,在这种情况下,请使用硬编码的int值。