0

嘿伙计们,我的游戏中有这个活动流程。起始页>阶段列表(从阶段 1-10)>问题。如果用户按下开始页面上的开始按钮,他将进入阶段列表,从那里启用的唯一按钮是阶段 1,其余按钮处于禁用模式。第 1 阶段有 5 个问题,用户正确回答后,用户将被引导回到第 2 阶段已解锁的阶段列表以及第 1 阶段(默认启用第 1 阶段)。现在我想要发生的是当用户使用主页按钮或后退按钮退出应用程序然后用户再次打开应用程序时,从开始页面按下开始按钮后,他将被引导到阶段 2 所在的阶段列表仍未解锁或用户上次完成的任何阶段。

4

2 回答 2

1

由于我不完全理解您的问题,我有两个主张:

  1. 在 onPause 或 onStop 中保存阶段信息,然后在 onCreate 方法(http://developer.android.com/guide/components/activities.html#Lifecycle)中检索它,或者
  2. 将 onStop 中的所有内容保存在SharedPreferneces中,并在需要时检索。我想这个选项更好。
于 2013-01-31T15:03:22.887 回答
0

重新启动应用程序时返回上一个打开的活动。

请这样做。

资料来源:重新启动时如何使android应用程序返回上一个打开的活动?

@Override
protected void onStop() {
    super.onStop();

    SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
    Editor editor = prefs.edit();
    editor.putString("lastActivity", getClass().getName());
    editor.commit();
}


public class Dispatcher extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Class<?> activityClass;

        try {
            SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
            activityClass = Class.forName(
                prefs.getString("lastActivity", Activity1.class.getName()));
        } catch(ClassNotFoundException ex) {
            activityClass = Activity1.class;
        }

        startActivity(new Intent(this, activityClass));
    }
}
于 2013-01-31T15:13:54.697 回答