我有一个“+”和“-”按钮,可以增加/减少元素的数量。
每次更改数量时,我都需要发送网络请求(点击网络服务)。
问题是,用户可能会“垃圾邮件”“+”和“-”按钮。例如,他们可能会在一秒钟内按 3 次。
对于这种情况,我想稍等一下,然后根据最后的数量发送网络请求。这是为了减少我需要执行的请求数量(在本例中,从 3 个请求减少到 1 个请求)。
推荐的方法是什么?
我可以通过在我的 OnClick
中使用 postDelayed
来解决这个问题吗?
最佳答案
我想你可以试试这样的东西
private long lastClick;
void onClick(View view) {
lastClick = System.currentTimeMillis();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (System.currentTimeMillis() - lastClick >= 1000) {
makeNetworkRequest();
}
}
}, 1000);
}
此代码将跳过第一个请求并在暂停 1 秒后仅运行最后一个请求
关于android - 在 Android 上处理非常快速的按钮点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43413272/