0

我的第一页有一个微调器,它将解析第二个活动的值。我在第二页上设置了 onBackPressed 以返回我的主页,但问题是,微调器选择没有被重置。为什么?

4

3 回答 3

0

试试这个

它会刷新你的 1stActivity

@Override
public void onResume()
{
    super.onResume();
    startActivity(getIntent());
}

编辑

解释

您可以在此处查看 Android 的生命周期

当您从第一个 Activity 转到第二个 ActivityOnPause()方法时。同样,当您从第二个活动onResume()方法返回第一个活动时,将被调用。

有两种方法可以重置 Spinner

第一

正如您要求通过此方法重新启动您的第一个活动

startActivity(getIntent()); // It refresh your activity

更多细节startActivity(getIntent())

Intent refresh = new Intent(FirstActivity.this,FirstActivity.class)
startActivity(refresh);

第二种方式

 Spinner yourSpinner = (Spinner)findViewById(R.id.yourSpinnerId);
 yourSpinner.setSelection(0);// Which reset Spinner to default

希望能帮助到你

于 2012-10-12T11:35:20.273 回答
0

在应用的 onStart 方法中设置 Adapter,或者在 onStart() 方法中调用 notifyDataSetChanged() 方法。

于 2012-10-12T11:56:47.547 回答
0

当你从activity B返回到activity A时,会调用activity A中的onRestart方法。
您可以覆盖该方法并在那里清除您的微调器。

@Override
public void onRestart()
{
   //clear your spinner here... spinner.setSelection(0) or something..
   super.onResume();
}

这是一个解释:

onRestart :在您的活动停止后,在重新开始之前调用。始终跟随 onStart()

于 2012-10-12T11:57:56.633 回答