android - 如何重新开始活动并清除玩家状态?
问题描述
我正在创建一个有 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
等生命周期方法。
此外,您可以创建一个将模型和视图重置为其初始状态的方法。
最好不要将您的活动重新创建为应用程序主流程的一部分。
推荐阅读
- python - 如何更改 Tkinter 窗口上的标题栏以在 macOS 上具有“现代”外观?
- json - 如何快速从文本字段中过滤日期
- javascript - 如何使用 JavaScript 获取 Bootstrap Dropdown 值
- android - Android Chromecast Sender App - 侧载带有嵌入音轨的字幕轨道
- c# - 如何使用 .Net Api c# 获取 AutoCAD 几何属性
- jenkins - 导致意外行为的并行 Jenkins 流水线
- python - 带有findall的子xml列表中的Python ElementTree过滤器类别
- google-signin - account = completedTask.getResult 不包含电子邮件
- flutter - 我可以强制颤动文本小部件在布局时考虑空白字符吗
- php - '指定的值不符合要求的格式...'