2014-10-02 58 views
0

我知道可能会重复某些线程,但我无法弄清楚我的错误。我有滑块dreawer在哪里是碎片和碎片有webview。一切工作正常至少有一件事,即当我按回按钮它关闭应用程序。我尝试了一些其他可能的解决方案,但没有任何工作。我甚至没有得到任何错误。我甚至试过这种简单的解决方案,但没有任何进展Webview后退按钮正在查杀所有活动

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    finish(); 
} 

My Main activity:

And this is one of my fragments:

+0

看来,您使用的是MainActivity然后多个片段内(slidingdrawer)或以其他方式。让我知道如果这种理解是正确的。 – 2014-10-02 12:53:54

+0

是的,你是完全正确的。 – Tarvo 2014-10-02 13:00:23

+0

请看下面的答案,并接受它是否适合你 – 2014-10-02 13:03:08

回答

0

默认情况下后退按钮将关闭该应用程序,如果你是在主/登陆活动(还有其他方法以及)。如果你想覆盖后退行为,你应该重载onBackPressed(),你做的是正确的,但你应该避免调用super.onBackPressed()(因为这会给你默认的行为,即关闭活动或finish(),这个你自己关闭的活动。这是你希望避免的。

希望它能帮助。

@Override 
public void onBackPressed() { 
    if (mSlidingDrawer.isOpened()) { 
     mSlidingDrawer.close() 
    } else { 
     Toast.makeText(MyTestApplication.getAppContext(), "Closing application", Toast.LENGTH_SHORT).show(); 
     super.onBackPressed(); 
    } 
} 
+0

我真的不知道不知道我做错了,但仍然没有。一种方式关闭按钮没有做任何事情,其他方式关闭应用程序。 – Tarvo 2014-10-02 13:16:28

+0

你需要添加你的逻辑来处理返回按钮按下。我更新了这个例子。 – 2014-10-02 14:40:45

+0

我想我必须让它成为因为它不工作。也许你可以在你的代码中尝试它?也许我的模拟器有问题? – Tarvo 2014-10-02 15:49:40