1.创建抽象类
/**
* Created by Sugar on 2017/12/20/0020.
*/
public abstract class OnClickEvent implements View.OnClickListener {
private static long lastTime;
public abstract void singleClick(View v);
private long delay;
public OnClickEvent(long delay) {
this.delay = delay;
}
@Override
public void onClick(View v) {
if (onMoreClick(v)) {
return;
}
singleClick(v);
}
public boolean onMoreClick(View v) {
boolean flag = false;
long time = System.currentTimeMillis() - lastTime;
if (time < delay) {
flag = true;
}
lastTime = System.currentTimeMillis();
return flag;
}
}
2.设置点击事件
public class FourActivity extends Activity {
private TextView textview;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview = findViewById(R.id.textview);
textview.setOnClickListener(new MySingleClickListener(1000));
// textview.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// toActivity();
// }
// });
}
public class MySingleClickListener extends OnClickEvent {
public MySingleClickListener(long delay) {
super(delay);
}
@Override
public void singleClick(View v) {
toActivity();
}
}
public void toActivity(){
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
}
此种是根据需求调节两次点击事件之间的时间。根据点击事件的间隔判断点击是否有效
如果需要向点击回调之中传数据,可以将间隔时间写成固定时间,然后根据正常情况传数据操作点击事件。