Java 当我单击“再次播放”按钮时,我的整个应用程序崩溃

Java 当我单击“再次播放”按钮时,我的整个应用程序崩溃,java,android,arrays,xml,Java,Android,Arrays,Xml,我做了一些类似于tic-tac-toe的东西,所有东西都在工作,但这个“再次播放”按钮不工作,导致整个应用程序崩溃。我试着再做一次,我试着做一个单独的方法来记录它,当按下它时,它是工作的,但它不工作与再次播放按钮 下面是我的播放按钮代码和代码图片,以及单击按钮时发生的错误 public void playAgain(View view) { Button playButton = (Button) findViewById(R.id.playButton); TextView

我做了一些类似于tic-tac-toe的东西,所有东西都在工作,但这个“再次播放”按钮不工作,导致整个应用程序崩溃。我试着再做一次,我试着做一个单独的方法来记录它,当按下它时,它是工作的,但它不工作与再次播放按钮

下面是我的播放按钮代码和代码图片,以及单击按钮时发生的错误

public void playAgain(View view) {

    Button playButton = (Button) findViewById(R.id.playButton);

    TextView winnerView = (TextView) findViewById(R.id.winnerView);

    playButton.setVisibility(View.INVISIBLE);

    winnerView.setVisibility(View.INVISIBLE);

    GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout);

    for(int i = 0; i < gridLayout.getChildCount(); i++) {

        ImageView counter = (ImageView) gridLayout.getChildAt(i);

        counter.setImageDrawable(null);

    }

    Arrays.fill(gameState, 2);

    activePlayer = 0;
    gameActive = true;

}

该视图具有androidx GridLayout,但在活动中,android GridLayout用于获取视图,从而导致由于强制转换错误而崩溃

我同意在“活动”中更改导入将解决您的问题,但请确保您希望根据需要使用androidx GridLayout而不是Android GridLayout。

只需替换导入Android.widget.GridLayout


导入androidx.gridlayout.widget.gridlayout

我认为您已经导入或使用了错误的GridLayout版本,因为XML中的版本与代码中使用的版本不匹配。这基本上就是错误日志所说的。@MarkusKauppinen是的,你是对的,我更改了它,它正在工作。请将代码和堆栈跟踪作为文本粘贴到问题中。不要发布文本图像。它们很难阅读,也无法搜索。