Java.Lang.NoSuchMethodError: no non-static method "Landroid/widget/CompoundButton Xamarin.Android

Java.Lang.NoSuchMethodError: no non-static method "Landroid/widget/CompoundButton Xamarin.Android

我收到这个错误:

Java.Lang.NoSuchMethodError: no non-static method "Landroid/widget/CompoundButton;.getButtonDrawable()Landroid/graphics/drawable/Drawable;

当我像这样使用单选按钮 ButtonDrawable 时:

    if(myRadioButton.ButtonDrawable == null)
    {
        //Do Something
    }

我在 android API = 23 (Marshmallow) 上测试了该应用程序,它运行良好。 android API < 23(早于 Marshmallow)

我得到这个错误

我正在使用 Xamarin.Android.Support.Design 版本 25.3.1

有解决办法吗?

I tested the app on android API = 23 (Marshmallow) and it works fine. I get this error for android API < 23 (older than Marshmallow)

这是预期的行为。如果你指的是 ButtonDrawable。此 api 已添加到 API 级别 23。

埃尔维斯是对的,是我的错。 如果有人遇到同样的问题,这就是我如何在不使用 get button drawable 的情况下解决问题的方法。

此代码用于 Xamarin.android,但您可以将其转换为 Java。

//Remove radio button circle    
 radioButton.SetButtonDrawable(new StateListDrawable());

//Set tag = true to know the button drawable is null
radioButton.Tag = true;

后面的代码:

if(radioButton.tag.Equals(true))
{
   //Do something
}