2012-10-04 78 views
1

在我的应用程序中,我有一个带有4个按钮的主屏幕。如果出于某种模糊不清的原因,用户同时点击了多个按钮,则所有目标活动都会按照他们点击的顺序打开。如何防止用户同时点击多个按钮?

我看到的这里类似的效应几个问题,但他们没有真正回答这个问题。希望我不必重写多点触控方法来处理它。

我怎样才能避免这种行为,从而防止多个点击事件在同一时间?

回答

1

我在我开发的应用程序有这个确切的问题。我在测试中发现,用手捣碎屏幕并同时触发多个按钮的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; 

     } 
    } 
+0

和你在哪里设置布尔回到真?你把它变成虚假的,但我没看到你把它放回去的地方。 – toadzky

+0

我在活动构造函数和OnResume()中设置了标志true。因此,无论何时返回屏幕,按钮都将重新启用。 –

0

你可以在原来的活动设置一个标志且仅当该标志被设置为false,打开一个新的活动 - 它设置为true,只要您的一个按钮进入onClick事件。

话虽这么说,你真的预见这是不够的问题,以保证这种hackiness?

+0

亲自,不,我不认为这是一个大问题。但是测试部门说出了一些东西之后,可能会坚持我做的事。我试图找到一个简单的方法来做到这一点,如果他们坚持我可以做到这一点,没有一个巨大的重构。 – toadzky

相关问题