如何重启活动并清除玩家状态?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何重启活动并清除玩家状态?相关的知识,希望对你有一定的参考价值。

我正在创造一个有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();
答案

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

以上是关于如何重启活动并清除玩家状态?的主要内容,如果未能解决你的问题,请参考以下文章

如何从片段外部清除/重置地图?

ViewModel 在导航导航中没有被清除,并且 viewmodel 中的实时数据保持活动状态

如何快速确定哪个文本字段处于活动状态

如何从另一个活动或底部工作表对话框/片段中关闭一个活动

如果几何着色器处于活动状态,如何将信息从顶点着色器传递到片段着色器?

在片段中使用 CoordinatorLayout 时如何使状态栏透明