当活动回到前面时恢复微调器的位置

时间:2012-08-30 18:29:23

标签: android android-activity spinner

我似乎无法将我的旋转器位置设置回我调用第二个活动之前的位置。

应用程序布局: 活动“Main”有一个微调器和8个按钮,用户从微调器中选择一个项目,然后单击一个按钮打开该活动(我不在“Main”活动上调用“finish()”)。用户完成第二个活动后,我会删除以下代码,将“主要”活动重新置于最前面。

private void exitActivity() {
    Intent mainIntent = new Intent(this, Main.class);
    startActivity(mainIntent);
    finish();
}

我的问题是我的“主要”活动中的微调器总是被设置回位置0而不是用户进入第二个活动之前所选择的内容。

谢谢你的帮助。

看起来像3,2,1中的白痴......

2 个答案:

答案 0 :(得分:1)

你为什么这样做?:

    Intent mainIntent = new Intent(this, Main.class);
    startActivity(mainIntent);

调用finish()足以让您回到第二个活动开始的活动。

由于该活动未关闭,因此微调器将像您开始第二个活动之前一样。

答案 1 :(得分:0)

您可以将用户选择保留在onPause方法中的SharedPreferences,然后在onResume方法中从那里重新加载。

这似乎是一种非常常见的方法。