Android 安卓操作系统可以连续点击按钮

Android 安卓操作系统可以连续点击按钮,android,button,click,Android,Button,Click,也许这是一个只需要一些逻辑的问题 我们有一个android应用程序,可以调用不同的web服务并返回数据。应用程序中有两个按钮。我们有10个API(web服务)。按钮1将调用api api1、api 2、api 3和api n。按钮2将调用api10、api9、API8…API1。我在单击按钮时调用API,但使用以下代码 handler.postDelayed(new Runnable() { public void run() { switchToApi(true);

也许这是一个只需要一些逻辑的问题

我们有一个android应用程序,可以调用不同的web服务并返回数据。应用程序中有两个按钮。我们有10个API(web服务)。按钮1将调用api api1、api 2、api 3和api n。按钮2将调用api10、api9、API8…API1。我在单击按钮时调用API,但使用以下代码

handler.postDelayed(new Runnable() {
    public void run() {
        switchToApi(true);
    }
}, 100);

到目前为止,实现在每次单击时都会调用API。也就是说,如果我点击按钮1,它将调用api1,我只能在api1完成后执行其他操作。但我想,用户可以连续点击按钮。您不需要调用API。但api编号可以更改。也就是说,如果用户点击并等待2秒而没有点击,那么应该调用相应的API。您能推荐一种新的方法和机制吗?

请尝试使用以下代码:

public static void ButtonLockThread(final int id, final Activity activity) {
    Thread thread = new Thread(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();

            }
            activity.findViewById(id).setClickable(true);
        }

    });
    thread.start();

}

public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.armDsarmButton:
        findViewById(R.id.armDsarmButton).setClickable(false);
        WebServiceController.getArmDisarmRelayInfo(this, defaultPanelID);
        Calculations.ButtonLockThread(R.id.armDsarmButton, this);
        break;
    default:
        break;
    }
}