我得解决方案是自定义一个方法
public abstract class NoDoubleItemClickListener implements OnItemClickListener { public static final int MIN_CLICK_DELAY_TIME = 1000; private long lastClickTime = 0; @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { long currentTime = Calendar.getInstance().getTimeInMillis(); if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) { lastClickTime = currentTime; NoDoubleItemClickListener(view); } } public abstract void NoDoubleItemClickListener(View v); }在代码中调用
listView.setOnItemClickListener(new NoDoubleItemClickListener() { @Override public void NoDoubleItemClickListener(View v) { } });
如果你是一个view,可以使用如下解决办法
自己定义一个方法
public abstract class NoDoubleClickListener implements View.OnClickListener { public static final int MIN_CLICK_DELAY_TIME = 1000; private long lastClickTime = 0; @Override public void onClick(View v) { long currentTime = Calendar.getInstance().getTimeInMillis(); if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) { lastClickTime = currentTime; onNoDoubleClick(v); } } public abstract void onNoDoubleClick(View v); }在代码中调用
view.setOnClickListener(new NoDoubleClickListener() { @Override public void onNoDoubleClick(View v) { } });