如何通过在Android中快速单击两次按钮来防止运行双重代码
作者:互联网
如果我在我的Android应用中快速单击按钮,似乎它后面的代码运行了两次.
如果我两次单击菜单按钮,则必须启动onclick的活动只会启动两次,而我必须退出两次.
这真的很烦人,因为如果我单击菜单按钮的速度太快,我可以在后台加载一大堆活动,并且必须逐个退出,所以这显然是我的应用程序的错误状态,我想解决此问题.
我该怎么办?
我使用简单的onClickListeners和Buttons
编辑:
关于答案和评论,我的菜单按钮如下所示:
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
当我像疯子一样单击时,历史记录堆栈上有多个活动,因此我必须退出多次.
有什么建议么 ?我做错了什么?
解决方法:
您可以使用以下代码:btn.setEnabled(false);
btn.setOnclickListener(new View.onClickListener(){
public void onClick(View v) {
btn.setEnabled(false);
}
});
标签:android,android-button 来源: https://codeday.me/bug/20191010/1886777.html