如何防止用户多次单击指向新活动的链接

时间:2013-10-17 21:04:26

标签: android button onclicklistener

我注意到我的Android应用程序中存在一个错误。

我有一个主屏幕,有4个按钮可用于不同的活动。

当用户点击其中一个按钮时,它会启动一项新活动。下面是一个执行按钮代码的示例。

public void button1Clicked(View view) {
    Intent intent = new Intent(CategoryMenuActivity.this,
            FoodMenuCategoriesActivity.class);
    startActivity(intent); // Start the new activity
    this.overridePendingTransition(R.anim.activity_enter,
            R.anim.activty_exit);
}

现在我注意到用户是否真的快速点击按钮5次。它会打开活动的5个实例。我该如何防止这种情况?

1 个答案:

答案 0 :(得分:1)

在UI线程中调用按钮单击事件,这意味着,如果禁用/隐藏/按钮中的任何按钮单击回调,则不再触发单击事件。

尝试以下内容(不要忘记在需要时启用):

public void button1Clicked(View view) {
    // Disable the button
    view.setEnabled(false);

    Intent intent = new Intent(CategoryMenuActivity.this,
        FoodMenuCategoriesActivity.class);
    startActivity(intent); // Start the new activity
    this.overridePendingTransition(R.anim.activity_enter,
        R.anim.activty_exit);
}