尝试投射“attachBadgeDrawable”时的 Kotlin 问题:此声明是可选的

问题描述

我会在 BadgeDrawable 上的 Android 应用程序中使用 Button,问题是当我尝试通过 {{1} 将 badgeDrawable 设置为按钮布局时我收到一个错误,上面写着:

attachBadgeDrawable

我使用那段代码代码如下:

his declaration is opt-in and its usage should be marked with  '@com.google.android.material.badge.ExperimentalBadgeUtils' or '@OptIn(markerClass = com.google.android.material.badge.ExperimentalBadgeUtils.class)'

如果可能有用,最小 SDK 为 24。

解决方法

BadgeUtils 用 androidx 注释 @Experimental 标记。通过这种方式报告了这种情况下实验性 API 的使用情况,级别 = ERROR

在您的方法中,您必须使用以下注释之一来抑制报告:

@ExperimentalBadgeUtils
@UseExperimental(markerClass = ExperimentalBadgeUtils::class)
fun onCreate(savedInstanceState: Bundle?) {
    //...
   btnInvia.viewTreeObserver.addOnGlobalLayoutListener(
      //..
   )
}

您也可以使用 kotlin 注释 @OptIn:

@OptIn(ExperimentalBadgeUtils::class)
fun onCreate(savedInstanceState: Bundle?) {
        //...
       btnInvia.viewTreeObserver.addOnGlobalLayoutListener(
          //..
       )
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...