【问题标题】:Boom menu crash繁荣菜单崩溃
【发布时间】:2021-08-26 18:30:19
【问题描述】:

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

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"));
    }
}

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

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

【问题讨论】:

    标签: java android crash


    【解决方案1】:

    在您的 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") 时完全相同

    【讨论】:

    • 非常感谢您的帮助。它正在工作!
    猜你喜欢
    • 2023-01-10
    • 1970-01-01
    • 2016-07-07
    • 2011-05-18
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    相关资源
    最近更新 更多