1. BaseActivity实现 View.OnClickListener
public abstract class BaseActivity extends AppCompatActivity implements View.OnClickListener{
private int lastClickViewId = 0;
private long lastClickTime = 0;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//省略
}
@Override
public void onClick(View view) {
if (notFastClick(view)) {
widgetClick(view);
}
}
private boolean notFastClick(View view) {
if (view.getId() == lastClickViewId){
if (System.currentTimeMillis() - lastClickTime <= 1000){
Log.d("notFastClick",lastClickViewId+"1s内被多次点击");
return false;
}
}
lastClickViewId = view.getId();
lastClickTime =System.currentTimeMillis();
return true;
}
public abstract void widgetClick(View view);
}
2.实现BaseActivity
public class BaiduActivity extends BaseActivity{
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_baidu);
btn = findViewById(R.id.btn);
btn.setOnClickListener(this);
}
@Override
public void widgetClick(View view) {
//响应事件
}
}
这个虽然简单,却很实用,防止与测试不必要的解释