Reputation: 61
I'm using boom menu for my first time. I get a error when I run my app:
java.lang.ClassCastException: com.nightonke.boommenu.BoomButtons.TextOutsideCircleButton$Builder cannot be cast to com.nightonke.boommenu.BoomButtons.SimpleCircleButton$Builder
This is my XML file:
<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>
And my 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"));
}
}
What is this error and how can I fix it?
I'm a novice developer. Thanks for your help.
Upvotes: 0
Views: 146
Reputation: 182
In your xml you have written app:bmb_buttonEnum="simpleCircle"
but in java you are using another type of button for this library.
For example if you want to use TextOutsideCircleButton replace your xml in this way:
<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"
/>
note that the value for app:bmb_buttonEnum should be exactly same as java when you initialize boomMenuButton.addBuilder("SAME_TYPE_AS_YOUR_XML")
Upvotes: 1