也许这是一个只需要一些逻辑的问题。
我们有一个android应用程序,它调用不同的web服务并返回数据。在应用程序中有两个按钮。我们有10个API (web服务)。按钮%1将调用接口api1、api %2API%3和api % n。按钮%2将调用api10、api9、api 8…api 1.我在按钮单击中调用api,但使用了以下代码
handler.postDelayed(new Runnable() {
public void run() {
switchToApi(true);
}
}, 100);到目前为止,该实现是在其调用API的每一次点击中实现的。也就是说,如果我在button1中点击,它将调用api1,并且我只能在api1完成后执行其他操作。但我想,用户可以连续点击按钮。继续点击不需要调用API。但api编号可以更改。也就是说,如果用户tapas并等待了2秒,而没有进行taping,则应该调用相应的API。你能给出一个建议和机制吗?
发布于 2013-05-13 16:16:58
请尝试使用以下代码:
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;
}
}https://stackoverflow.com/questions/16516622
复制相似问题