Android 连接3,Tic Tac Toe,再次播放按钮崩溃
创建了一个“再次玩”按钮,用于清除所有包含十字和圆圈的网格,以便用户可以再次玩游戏。问题是由以下原因引起的:java.lang.ClassCastException:android.widget.RelativeLayout无法强制转换为androidx.gridlayout.widget.gridlayout 再次访问com.example.glow.MainActivity.playAndroid 连接3,Tic Tac Toe,再次播放按钮崩溃,android,Android,创建了一个“再次玩”按钮,用于清除所有包含十字和圆圈的网格,以便用户可以再次玩游戏。问题是由以下原因引起的:java.lang.ClassCastException:android.widget.RelativeLayout无法强制转换为androidx.gridlayout.widget.gridlayout 再次访问com.example.glow.MainActivity.play public void playAgain(View view) { gameIsActi
public void playAgain(View view) {
gameIsActive = true;
LinearLayout layout = (LinearLayout) findViewById(R.id.playAgainLayout);
layout.setVisibility(View.INVISIBLE);
activePlayer = 0;
for (int i = 0; i < gameState.length; i++) {
gameState[i] = 2;
}
GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout);
for (int i = 0; i < gridLayout.getChildCount(); i++) {
((ImageView) gridLayout.getChildAt(i)).setImageResource(0);
}
public void再次播放(视图){
gameIsActive=true;
LinearLayout布局=(LinearLayout)findViewById(R.id.playAgainLayout);
布局.设置可见性(视图.不可见);
activePlayer=0;
对于(inti=0;i
尝试了stackoverflow上提供的许多解决方案,但似乎都不起作用,同时请注意,我使用的是Android Studio 4.0.1
这是我的XML文件:
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/gridLayout"
android:layout_width="415dp"
android:layout_height="858dp"
android:layout_marginStart="1dp"
android:layout_marginTop="1dp"
android:layout_marginEnd="1dp"
android:layout_marginBottom="1dp"
android:background="@drawable/grid"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.4"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageView15"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginStart="120dp"
android:layout_marginTop="180dp"
android:contentDescription="@string/img"
android:onClick="dropIn"
android:tag="0"
app:layout_constraintBottom_toTopOf="@+id/imageView16"
app:layout_constraintEnd_toStartOf="@+id/playAgainLayout"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView22"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginTop="180dp"
android:layout_marginBottom="55dp"
android:contentDescription="@string/circle"
android:onClick="dropIn"
android:tag="1"
app:layout_constraintBottom_toTopOf="@+id/imageView24"
app:layout_constraintEnd_toStartOf="@+id/imageView21"
app:layout_constraintStart_toEndOf="@+id/imageView15"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView21"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginTop="180dp"
android:contentDescription="@string/circle"
android:onClick="dropIn"
android:tag="2"
app:layout_constraintBottom_toTopOf="@+id/imageView23"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView22"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView16"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginStart="20dp"
android:layout_marginTop="110dp"
android:contentDescription="@string/circle"
android:longClickable="true"
android:onClick="dropIn"
android:tag="3"
app:layout_constraintBottom_toTopOf="@+id/imageView17"
app:layout_constraintEnd_toStartOf="@+id/imageView24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView15" />
<ImageView
android:id="@+id/imageView24"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginStart="10dp"
android:layout_marginBottom="350dp"
android:contentDescription="@string/circle"
android:onClick="dropIn"
android:tag="4"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/imageView23"
app:layout_constraintStart_toEndOf="@+id/imageView16"
app:layout_constraintTop_toBottomOf="@+id/imageView22" />
<ImageView
android:id="@+id/imageView23"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="330dp"
android:contentDescription="@string/circle"
android:onClick="dropIn"
android:tag="5"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView24"
app:layout_constraintTop_toBottomOf="@+id/imageView21" />
<ImageView
android:id="@+id/imageView17"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="10dp"
android:contentDescription="@string/circle"
android:onClick="dropIn"
android:tag="6"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/imageView26"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/playAgainLayout" />
<ImageView
android:id="@+id/imageView26"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginBottom="150dp"
android:contentDescription="@string/circle"
android:onClick="dropIn"
android:tag="7"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/imageView25"
app:layout_constraintStart_toEndOf="@+id/imageView17" />
<ImageView
android:id="@+id/imageView25"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="100dp"
android:contentDescription="@string/circle"
android:onClick="dropIn"
android:tag="8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView26"
app:layout_constraintTop_toBottomOf="@+id/playAgainLayout" />
<LinearLayout
android:id="@+id/playAgainLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="34dp"
android:layout_marginLeft="34dp"
android:layout_marginTop="212dp"
android:layout_marginEnd="34dp"
android:layout_marginRight="34dp"
android:layout_marginBottom="69dp"
android:alpha="1"
android:background="#76FF03"
android:gravity="start|end"
android:orientation="vertical"
android:padding="30dp"
android:visibility="invisible"
app:layout_constraintBottom_toTopOf="@+id/imageView25"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<EditText
android:id="@+id/winnerMessage"
android:layout_width="wrap_content"
android:layout_height="59dp"
android:layout_marginStart="30dp"
android:layout_marginTop="40dp"
android:alpha="1"
android:autofillHints=""
android:clickable="false"
android:contentDescription="@string/message"
android:duplicateParentState="false"
android:ems="10"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center"
android:inputType="textPersonName"
android:textSize="30sp" />
<Button
android:id="@+id/playAgain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="playAgain"
android:text="@string/button" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
似乎您在这里找到了相对的视图id(R.id.gridLayout),请打开布局XML并检查它。找到了解决方案人员,感谢您的回复,因为他们给了我一些关于研究内容的提示。问题在于XML代码中我没有使用gridlayout的地方,所以错误基本上告诉您您使用的布局是androidx布局,您正在将其分配给Android布局,以便rect it try:
androidx.gridlayout.widget.GridLayout var_name = (GridLayout) findViewById(R.id.gridLayout);
因此问题将得到解决您确定您的
GridLayout
id为GridLayout
吗?您可以在此处添加布局代码。您可以显示xml文件吗?
androidx.gridlayout.widget.GridLayout var_name = (GridLayout) findViewById(R.id.gridLayout);