繁荣菜单崩溃

Boom menu crash

我是第一次使用 boom 菜单。 运行 我的应用程序出现错误:

java.lang.ClassCastException: com.nightonke.boommenu.BoomButtons.TextOutsideCircleButton$Builder cannot be cast to com.nightonke.boommenu.BoomButtons.SimpleCircleButton$Builder

这是我的 XML 文件:

    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.nightonke.boommenu.BoomMenuButton
        android:id="@+id/bmb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="32dp"
        android:layout_marginBottom="32dp"
        app:bmb_buttonEnum="simpleCircle"
        app:bmb_buttonPlaceEnum="buttonPlace_sc_9_1"
        app:bmb_normalColor="#64DD17"
        app:bmb_piecePlaceEnum="piecePlace_dot_9_1"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

还有我的JAVA:

    public class MainActivity extends AppCompatActivity {
    BoomMenuButton boomMenuButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        boomMenuButton = (BoomMenuButton) findViewById(R.id.bmb);
        setbmbtn();


    }

    private void setbmbtn() {
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Circle"));
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Triangle"));
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Square"));
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Rectangle"));
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Rhombus"));
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Hexagon"));
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Parallelogram"));
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Pentagon"));
        boomMenuButton.addBuilder(new TextOutsideCircleButton.Builder().normalText("Trapezoid"));
    }
}

这是什么错误,我该如何解决?

我是一名开发新手。感谢您的帮助。

在您的 xml 中,您已经编写了 app:bmb_buttonEnum="simpleCircle",但在 java 中,您正在为该库使用另一种类型的按钮。 例如,如果您想使用 TextOutsideCircleButton 以这种方式替换您的 xml:

<com.nightonke.boommenu.BoomMenuButton
android:id="@+id/bmb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"        
app:bmb_buttonEnum="textOutsideCircle"
app:bmb_piecePlaceEnum="piecePlace_dot_9_1"
app:bmb_buttonPlaceEnum="buttonPlace_sc_9_1"
/>

请注意,app:bmb_buttonEnum 的值应该与 java 完全相同,当您初始化 boomMenuButton.addBuilder("SAME_TYPE_AS_YOUR_XML")