使用后退按钮重新启动活动



基本上我的MainActivity有一个按钮,点击后将变得不可见,几秒钟后将调用SecondActivity。但是,当我按下后退按钮时,主活动上的按钮仍然不可见。我希望主活动重新启动/初始化。我知道这与 onResume 或 onRestart 有关,但我如何实现这些方法?谁能给我举个例子?谢谢。

当你去第二个时,你可以在MainActivity上打电话给finish()。然后Override onBackPressed()SecondActivity并重新开始MainActivity

@Override
public void onBackPressed()
{
// create Intent and start MainActivity again
}

我想你正在寻找startActivityForResult。您可以在 Android 文档或此处的 SO 中看到用法示例。

基本上,在您的第一个活动中,您覆盖了该方法onActivityResult并在其中(如果结果为OK)重新显示按钮。然后,在第二个活动中,将要返回的结果设置为 OK,并根据需要完成它(通过按后退按钮或调用finish())。

或者:

您可以在第一个活动中编写onResume方法,并在每次调用此方法时只显示按钮(请注意,即使在活动第一次启动时也会调用onResume,但由于按钮已经在您的情况下显示 - 它不会有任何影响)。

@Override
public void onResume(){
Button b = (Button) findViewById(R.id.myButton);
b.setVisibility(View.VISIBLE);
}

在您的活动中,只需编写

@Override
public void onResume(){
// put your code here...
yourButtonInstance.setVisibility(View.VISIBLE) 
}

并将更改可见性所需的逻辑放入其中

您可以将按钮设置为活动的属性,并使按钮在 onPause() 或 onResume() 方法中可见。

button.setVisibility(View.VISIBLE);

最新更新