您的位置:首页 > 其它

解决listview的setOnItemClickListener中多次点击启动多个相同界面的问题

2018-01-18 11:25 465 查看
我得解决方案是自定义一个方法:
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) {

}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: