我想每次更新值EditText
3秒後調用Web服務,但如果您在3秒前更新EditText
的值,請刪除所有延遲的回調,並等待3秒爲Web服務call.Please看我的鱈魚,讓我知道適當的方式來完成這項任務取消postDelayed內onTextChanged
@Override
public void onTextChanged(final CharSequence s, int start, int before, int count) {
if (s.length() > 2) {
final Handler handler = new Handler();
handler.removeCallbacksAndMessages(null);
handler.postDelayed(
new Runnable() {
@Override
public void run() {
// Soap call
}
},
3000);
}
}
可以聲明處理程序「final Handler handler = new Handler();」在此範圍之外,所以它應該始終指向單個處理程序並刪除掛起和重置。 – Vinodh
創建成員變量處理程序並使用handler.removeCallbacksAndMessages。 –