我对使用finish()进行活动和使用键盘的后退按钮非常困惑。我创建了许多活动,所以在从一个活动移动到另一个活动时,我完成了最后一个活动。而且我在我的活动中也使用了后退键,所以我可以回去(从我来的地方) 通过按下后退按钮但是当我使用键盘后退按钮时出现问题我会去任何其他活动。我希望它可以作为我的活动的后退按钮。
我认为这可以通过使用onKeyListener和chekcing键盘的后退按钮完成,然后我开始活动与我的活动的后退按钮相同。 我想知道这样做是对的还是有比这更好的方法?
请帮助
答案 0 :(得分:4)
有一种更好的方法:
从一项活动转到另一项活动时,不应致电finish()
。如果需要内存,操作系统将为您清除它,当您按下它时,它将根据需要工作。只要确保你的生命周期功能是正确的(当你失去焦点时你清理大块内存占用的东西等),你就会变得更加快乐。
答案 1 :(得分:2)
您可以覆盖活动的onBackPressed
方法来覆盖默认行为(即为您的活动调用finish()
)。
然而,当您在日常工作中这样做时,您应该质疑您的整体设计。有关使用Android Tasks and Back Stack更好地控制用户体验的其他方法,请查看activity lifecycle上的文档。
答案 2 :(得分:1)
尽量不要使用完成(),如果你想要免费记忆,那就不要担心,如果需要记忆,那么你需要做回忆按钮。< / p>
我希望你知道活动的生命周期。每当您按下后退按钮时,其他活动就会停止
答案 3 :(得分:1)
如果您要拨打finish()
并希望设备返回按钮作为活动后退按钮,则覆盖onBackPressed()
方法。
假设您在活动2中,并且希望返回活动1,这是您的第一个活动,然后在Activity2.java中写下代码....
public void onBackPressed()
{
Intent setIntent = new Intent(this,Activity1.class);
startActivity(setIntent);
return;
}