如何在保留一些数据的同时重启主要活动

时间:2012-08-17 07:37:50

标签: java android

这是我的第一个应用程序,我正在尝试编写一个简单的骗子骰子游戏。

我在主要活动类中写了所有内容,滚动随机骰子,textedit框以输入出价和按钮以进行出价和调用。

所以在游戏运行之后,如何让它跟踪得分并再次运行?

我尝试使用重启按钮创建另一个活动屏幕并在游戏结束后将其移至那里,以便重新启动主要活动。但是我能够从该屏幕按下(phonekey)并在上一场比赛结束时卡住。

此外,我正在尝试使用数组来记录输赢,但不确定如何从活动中来回使用它。

3 个答案:

答案 0 :(得分:0)

要重新启动主要活动,您可以

finish();
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            startActivity(new Intent(getContext(), YourMainActivity.class));// then call again

并使用首选项或sqlite

保留您的数据

答案 1 :(得分:0)

那么你可以创建一个包含数字的全局数组,只需在用户单击Button或任何你想触发滚动时运行一个方法。一个向您展示的简单方法是

<Button
    android:layout_height="wrap_content"
    android: layout_width="wrap_content"
    android:text="Touch Me"
    android:on click="leRoll" />

然后在您的Activity中,您可以使用一个名为leRoll的方法,当单击“触摸我”按钮时会触发该方法。可以使用全局数组在那里完成所有得分。

答案 2 :(得分:0)

不完全确定这是否是您正在寻找的内容,但是:

您可以覆盖后退按钮以转到第二个活动的屏幕。

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
  Intent intentstart = new Intent(Activity2.this, MainActivity.class);
  intentstart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  startActivity(intentstart);
  return true;
}
return super.onKeyDown(keyCode, event);    
}