App中,有很大一部分場景是點擊按鈕,向服務(wù)端提交數(shù)據(jù),由于網(wǎng)絡(luò)請求需要時間,用戶很可能會多次點擊,造成數(shù)據(jù)重復(fù)提交,造成各種莫名其妙的問題。
因此,防止按鈕多次點擊,是Android開發(fā)中一個很重要的技術(shù)手段。
以前的處理方式
網(wǎng)上查找到的,或者你可能會想到的方法大概有這些:
1.每個按鈕點擊事件中,記錄點擊時間,判斷是否超過點擊時間間隔
private long mLastClickTime = 0; public static final long TIME_INTERVAL = 1000L; private Button btTest; private void initView() { btTest = findViewById(R.id.bt_test); btTest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { long nowTime = System.currentTimeMillis(); if (nowTime - mLastClickTime > TIME_INTERVAL) { // do something mLastClickTime = nowTime; } else { Toast.makeText(MainActivity.this, "不要重復(fù)點擊", Toast.LENGTH_SHORT).show(); } } }); }