2011-08-11 199 views
0

有真正的问题了解如何分类我的问题。返回到主屏幕,然后返回上一个活动

在主屏幕上我有2个按钮

当用户点击它开始一个新的活动的第一个按钮。我正在寻找的是,如果用户点击返回到主屏幕的应用程序。如果用户再次点击第一个按钮,它将开始一个新的活动。

如果用户点击第二个按钮,返回到最后通过点击按钮1

开始的活动有什么我有问题是如何保存活动的状态,当用户点击回 还如何当第二按钮被按下

感谢您的时间

UPDATE

我已经下降仍然有问题的这部分,但称该活动。如果我放置了一些我正在使用的代码,也许有人可以指出我出错的地方。

代码从主菜单

Intent intent = new Intent(MainMenu.this, NewClass.class); 
     intent.putExtra("value1", value1); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(intent); 

调用新的活动中我已经添加了以下新类:

@Override 
public void onBackPressed() { 
    //super.onBackPressed(); 
    Intent intent = new Intent(RoundScoring.this, MainMenu.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
    startActivity(intent); 
    Toast.makeText(this, "Back Button Pressed", Toast.LENGTH_LONG).show(); 
} 

我没有在这个班,无论是onrestoreinstancestate或onresumne。只有一个oncreate。我一定要添加这样的事情带回实例

的第二个按钮在主菜单上我已经加入这个

Intent intentContiune = new Intent(MainMenu.this, NewClass.class); 
      intentContiune.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
      startActivity(intentContiune); 

感谢

+0

你能解释更多... –

+0

按钮1 - 总是开始新的活动,按钮2 - 回到过去的活动按钮1创建。有两件事情要知道,1如何保存状态时,从按钮再次单击后面的活动和2如何调用活动2.感谢 –

+0

还没100%,如何实现这一目标。谢谢 –

回答

1

试试这个:

主屏幕左按钮: 用意向标志打开新活动FLAG_ACTIVITY_NEW_TASK

活动: 在开始的活动上覆盖onBackClick()以用Intent调用主屏幕而不是完成它。使用标志FLAG_ACTIVITY_REORDER_TO_FRONT 保存活动状态压倒一切的onSaveInstanceState

主屏幕右键: 调用具有标志FLAG_ACTIVITY_SINGLE_TOP活动

有关标志的更多信息: http://blog.akquinet.de/2010/04/15/android-activites-and-tasks-series-intent-flags/

+0

请告诉我的代码来调用的意图再次使用平板FLAG_ACTIVITY_SINGLE_TOP。谢谢 –

+0

当按钮1被按下时,我传递了一些随同它一起使用的varibales。点击第二个按钮它似乎没有保存这些变量。难道我做更多的事情的onSaveInstanceState –

+0

当一些代码更新,我在正确的方向前进。 Thansk –

0

一种解决方案可能涉及通过围绕束包括你的活动状态。使用startActivityForResult(),您可以返回一个包含活动状态的包。当用户点击你的第二个按钮时,传入该捆绑包并将该活动设置为关于捆绑的内容。如果该捆绑包不包含您正在查找的信息,则使用默认值,就好像您刚刚启动它一样。

欲了解更多信息:

Android: Capturing the return of an activity