我正在用多个屏幕创建一个应用程序,用户将不得不浏览。具体而言,我目前正在对一组活动必须联系在一起如下:按BACK按钮时返回到正确的活动状态?
- 主要活动 - >点击一个按钮导致“CreateCharacterActivity” - >点击一个按钮导致“CharacterMainActivity”
- “CharacterMainActivity”上的BACK按钮应该返回MainActivity,而不再次显示CreateCharacterActivity。
- 此行为应该与应用程序的其他区域类似,但它应该恢复BACK按钮导致的活动在暂停之前处于的状态。
所以为了简化,我想这样。
- 活性A - >活动B - >活动Ç
- BACK按钮使活性C返回到活动A不经过活动B.去
我试图这样做:
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
但是这只是调用一个MainActivity的新实例。当我在MainActivity实例上按BACK时,它将我带回CharacterMainActivity。
我该如何做到这一点?我假设它涉及访问活动堆栈?
谢谢!我不知道为什么我之前没有想到... –
如果我在活动A中有一个对象的引用,然后启动活动B并将该对象作为Parcelable传递,然后在该活动中修改它并按BACK返回到活动A,A将对该对象的引用修改为它在B中的位置吗? –