返回后不调用onRestart方法

时间:2013-05-31 20:09:29

标签: android android-activity

我的MainActivity有一个Button按下时会调用此方法:

 public void sendMessage(View view) {
    //Do something in response to the button
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText)findViewById(R.id.edit_message);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}

因此应用程序显示DisplayMessageActivity,然后按下ActionBar返回MainActivity。我有一个onRestart我认为应该在返回MainActivity时调用它(它确实返回MainActivity),但它没有被调用。什么似乎是问题?

onRestart方法:

@Override
protected void onRestart() {
    super.onRestart();
    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(str);
    setContentView(textView);
}

2 个答案:

答案 0 :(得分:5)

您需要onResume()方法。停止onRestart()之后调用Activity而不是暂停它。有关详细信息,请查看Activity Lifecycle图表。

答案 1 :(得分:1)

根据this帖子你想要onResume。这是一些更多的输入:

  1. onPause() & onResume()
  2. The lifecycle
  3. Stopping and Restarting an Activity
  4. 编辑:

    但正如我在这里读到的那样:

      

    用户在您的应用中执行启动新活动的操作。创建第二个活动时,将停止当前活动。如果用户然后按“返回”按钮,则重新启动第一个活动。
      资料来源:Stopping and Restarting an Activity

    你是对的......