让我们假设我有以下活动的顺序:从历史堆栈中删除的活动
甲 - >乙 - “ç - > d - >电子
,当我在E会从DI未来希望做一些操作,然后返回到d没有堆栈保持对E ..所以,如果我有回d,然后按后退按钮,我将返回到C不Ë
如何做到这一点???
让我们假设我有以下活动的顺序:从历史堆栈中删除的活动
甲 - >乙 - “ç - > d - >电子
,当我在E会从DI未来希望做一些操作,然后返回到d没有堆栈保持对E ..所以,如果我有回d,然后按后退按钮,我将返回到C不Ë
如何做到这一点???
我不知道如果我完全理解这个
如果我回到d,然后按返回键,我将返回到C不Ë
但如果我做所有你要做的就是调用finish()
当您在大功告成那么当你按下回D.如果这不是你所谈论的,那么请澄清你的问题是什么,你将返回到d,然后到C。但是,当你finish()
和Activity
然后将其从堆栈中清除,所以你永远不会,直到你再次启动它返回到E。你永远不会从d反正按后退按钮
在其最基本的形式,Activities
在他们来。如果你离开一个方式放在堆栈上彼此的顶部,由打电话finish()
或按回去,然后它被删除,你被带到它之前(你来自哪里)。还有更多,但这是发生的事情的基本。
我的意思是与后我从回E到D然后如果我按回,但我应该回到C ,,,在哪里调用完成功能? –
当你在E完成时,你可以调用'finish()'。但是,如果你按下E键,它会做同样的事情。如果你再按回D,你会回到C假设你还没有清除掉堆栈 – codeMagic
不,我想通过使用Intent而不是按回退按钮 –
而不是创建一个新的回头的意图,你应该调用this.finish();
关于你不再需要的活动,当用户按下后退按钮时,这将被“调用”,另外,如果你正在创建一个新的活动,并且希望在按下时跳过当前活动,您仍然可以拨打this.finish();
,然后您可以拨打电话this.startActivity(new Intent(this, ActivityName.class));
我觉得这是你怎么做你的活动堆栈
甲 - >乙 - “ç - > d - >电子 - > d(按意图给E推出)。
现在你想从第二个D去到C.要做到这一点,在E中,在你启动D后调用finish()
。这应该从堆栈中删除E.
如果我理解正确你的问题。
你去到活动-E在A的序列,B,C,d,E 现在你会在活动-d时,你会按后退按钮。 这里的问题是:当你再次按后退按钮,再次进入到活动-E,但你想要去的活动-C在这里。
所以,你可以用它在动鄂
@Override
public void onBackPressed(){
finish() ; // ActivityE.this.finish()
super.onBackPressed() ;
}
onBackPressed按原样删除活动,不需要完成 –
如果你是在d按回去,回到C. – iTurki
我的意思是与后,我给E返回d那么如果我按回,但我应该回到C –
你会回到C.这不是你想要的吗? – codeMagic