【发布时间】:2012-07-02 09:00:27
【问题描述】:
如果我在我的 Android 应用程序中快速单击按钮,它背后的代码似乎会运行两次。 如果我单击菜单按钮两次,则必须启动 onclick 的活动只会启动两次,我必须退出两次。
这真的很烦人,因为如果我点击菜单按钮的速度太快,我可以在后台加载一大堆活动,我必须一个一个地退出它们,所以这显然是我想要的应用程序的错误状态解决这个问题。
这个问题我该怎么办?
我使用简单的 onClickListeners 和 Buttons
编辑:
关于答案和 cmets,我的菜单按钮如下所示:
top20Button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
favButton.setClickable(false);
nearButton.setClickable(false);
highlightedButton.setClickable(false);
top20Button.setClickable(false);
Intent i = new Intent();
i.putExtra("showDialog", false);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
i.setClass(Search.this, Top20.class);
startActivity(i);
finish();
}
});
经过所有这些更正后,它仍然是一样的:S 当我像疯子一样点击时,历史堆栈上有多个活动,我必须退出多次。
有什么建议吗?我做错了什么?
【问题讨论】:
-
尝试禁用点击按钮。所以当它首先被点击时,它会被禁用并且不会捕获任何未来的点击,我猜。
-
即使使用 SINGLE_TOP,堆栈上仍有多个活动?检查我的更新答案...