2012-09-06 103 views
0

在我的应用程序有时后退按钮的用户点击,并没有回应,于是他们再次点击回到前一个画面马上,而是他们去2-3屏幕背部。有时完全不在应用程序中。然而,只有一个屏幕显示时,这些后点击发生!有没有什么方法可以拦截这些,并忽略这些后续点击。也许观察它们的间距或它们出现的屏幕?有没有其他人有这个问题?检测后退按钮点击和忽略额外的点击

我的猜测是没有什么可以做,因为用户对后退按钮的最终控制权,但为什么没有安卓忽略额外的点击,因为它们都发生在同一页上,它甚至还没有说明切换?

+0

http://stackoverflow.com/questions/2459848/android-prompt-user-to-save-changes-when-back-button-is-pressed – DeeV

+4

这听起来像是你掩盖更大的问题虽然(即,为什么需要永远回应退出请求?)。 – DeeV

+0

那么通常会显示一个ListView。它没有优化,因为我不确定什么时候这个请求(后退请求)被准确处理。你知道吗? –

回答

8

你可以用下面的代码很容易赶上后退按钮,但你应该不会冒永远回应。你的用户界面线程被阻塞,这是根本错误的。

@Override 
public void onBackPressed() { 
    // do something on back. 
    return; 
} 
+0

也许我可以在这一点释放资源... –

+0

你并不需要释放资源,如果你从后面堆栈弹出。唯一需要做的事情是关闭套接字和结束线程。我想如果你创建它们,删除临时文件。这些事情都不应该像你说的那样永远做下去。 – DeeV