在我的应用程序中,我有一个带有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,打开一个新的活动 - 它设置为true,只要您的一个按钮进入onClick事件。
话虽这么说,你真的预见这是不够的问题,以保证这种hackiness?
亲自,不,我不认为这是一个大问题。但是测试部门说出了一些东西之后,可能会坚持我做的事。我试图找到一个简单的方法来做到这一点,如果他们坚持我可以做到这一点,没有一个巨大的重构。 – toadzky
和你在哪里设置布尔回到真?你把它变成虚假的,但我没看到你把它放回去的地方。 – toadzky
我在活动构造函数和OnResume()中设置了标志true。因此,无论何时返回屏幕,按钮都将重新启用。 –