首页 > 解决方案 > 如何重新开始活动并清除玩家状态?

问题描述

我正在创建一个有 3 个玩家生命(心)的问答游戏。玩家有 3 次尝试得到正确答案。如果玩家在红心变 0 之前得到正确答案,则会创建一个新关卡。现在我的问题是

当玩家心==0 并清除玩家状态、加载回 1 级并设置新的 3 颗心时,如何重新开始我的游戏活动?

Private void showResult(){
        for(int b = 0; b<4; b++){
            answers[b].setOnClickListener(null);
        }


if(hearts==0){
        resultCoins.setVisibility(View.GONE);
        resultImg.setImageResource(R.drawable.smile);
        loadLevel.setText("CONTINUE");
        resultTxt.setText("Correct is: "+answers[correctAnswer-1].getText());
        loadLevel.setVisibility(View.GONE);
        Toast.makeText(GamePlay.this, "Game Over, Press Back to Return", 
        Toast.LENGTH_LONG).show();

标签: androidandroid-activityrestart

解决方案


在你的活动中,写this.recreate();。这是您问题的最短解决方案,它将破坏活动和调用onCreate等生命周期方法。
此外,您可以创建一个将模型和视图重置为其初始状态的方法。
最好不要将您的活动重新创建为应用程序主流程的一部分。


推荐阅读