在我的应用程序中,我有一个带有 4 个按钮的主屏幕。如果出于某种晦涩难懂的原因,用户要同时单击多个按钮,则所有目标活动都将按照它们被单击的顺序打开。
我在这里看到了一些关于类似问题的问题,但他们并没有真正回答这个问题。希望我不必重写多点触控方法来处理它。
如何避免这种行为,从而防止同时发生多个点击事件?
在我的应用程序中,我有一个带有 4 个按钮的主屏幕。如果出于某种晦涩难懂的原因,用户要同时单击多个按钮,则所有目标活动都将按照它们被单击的顺序打开。
我在这里看到了一些关于类似问题的问题,但他们并没有真正回答这个问题。希望我不必重写多点触控方法来处理它。
如何避免这种行为,从而防止同时发生多个点击事件?
我在开发的应用程序中遇到了这个确切的问题。我在测试中发现,用手捣碎屏幕并同时为多个按钮触发 onClick 事件相对容易。
我对活动上的所有按钮都使用了相同的 OnClickListener。代码是这样的:
protected final android.view.View.OnClickListener m_clickListener = new android.view.View.OnClickListener() {
@Override
public void onClick(View v)
{
if(!m_buttonsEnabled)
{
return;
}
switch(v.getId())
{
case R.layout.button1:
m_buttonsEnabled = false;
final Intent i = new Intent(MainScreenActivity.this, Button1Activity.class);
startActivity(i);
}
break;
case R.layout.button2:
m_buttonsEnabled = false;
final Intent i = new Intent(MainScreenActivity.this, Button2Activity.class);
startActivity(i);
}
break;
}
}
您可以在原始活动中设置一个标志,并且仅当该标志设置为 false 时才打开一个新活动 - 只要您为其中一个按钮输入 onClick 事件,就将其设置为 true。
话虽如此,您真的预见到这足以证明这种骇人听闻的问题吗?