繁荣菜单崩溃
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")
我是第一次使用 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")