1

在我的应用程序中,我有一个带有 4 个按钮的主屏幕。如果出于某种晦涩难懂的原因,用户要同时单击多个按钮,则所有目标活动都将按照它们被单击的顺序打开。

我在这里看到了一些关于类似问题的问题,但他们并没有真正回答这个问题。希望我不必重写多点触控方法来处理它。

如何避免这种行为,从而防止同时发生多个点击事件?

4

2 回答 2

2

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

        }
    }
于 2012-10-04T23:30:17.113 回答
0

您可以在原始活动中设置一个标志,并且仅当该标志设置为 false 时才打开一个新活动 - 只要您为其中一个按钮输入 onClick 事件,就将其设置为 true。

话虽如此,您真的预见到这足以证明这种骇人听闻的问题吗?

于 2012-10-04T22:57:41.003 回答