我已经根据此处的 Google 建议实施了向上按钮:http: //developer.android.com/training/implementing-navigation/ancestral.html
像这样:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// This is called when the Home (Up) button is pressed
// in the Action Bar.
case android.R.id.home:
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(
Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
这段代码最大的问题是 MainActivity 是从一个新实例启动的。我想打开以前的 MainActivity 实例而不重新启动它。
由于这个活动非常繁重,我不想每次用户按下向上按钮时都创建一个新活动。
我试图删除标志 FLAG_ACTIVITY_NEW_TASK 并使用所有可以想象的标志进行了很多操作,但我没有成功创建一个按钮,可以将 MainACtivity 恢复到以前的状态。
任何帮助将不胜感激。