怎样继承Android中的onClickListener接口,使其具有防止双击的功能。 20
初学Android,经常需要在onClick事件中添加防止双击的方法。有没有继承onClickListener,让我重写的singleOnClick拥有防止双击的功能。不...
初学Android,经常需要在onClick事件中添加防止双击的方法。有没有继承onClickListener,让我重写的singleOnClick拥有防止双击的功能。不要只说想法,最好给个简单的demo。
展开
展开全部
有两个方法,1.在click后立马设置setenabled为false,处理完onclick事件后重设为true,这个狠简单,就不用代码了。
2. 通过双击时间来判断,判断如果双击事件小于XX秒则第二次点击无效,代码:
long current_time = System.currentTimeMillis();
long d_time = current_time - last_time;
LogUtil.LOG("=======================d_time", d_time);
if (d_time < 300) {
last_time = current_time;
return;
} else {
last_time = current_time;
// to do
2. 通过双击时间来判断,判断如果双击事件小于XX秒则第二次点击无效,代码:
long current_time = System.currentTimeMillis();
long d_time = current_time - last_time;
LogUtil.LOG("=======================d_time", d_time);
if (d_time < 300) {
last_time = current_time;
return;
} else {
last_time = current_time;
// to do
追问
谢谢了,不过这两个方法都会用。我就是想重写onClick事件。不过。。貌似。。工程量有点不适合我~~~~~
追答
我汗,LZ你想重写onClick事件的话,直接新建一个类implements onclickListener就可以了撒~~~
推荐于2016-04-16 · 知道合伙人法律行家
关注
展开全部
OnClickListener接口是一个协议,即:只要你写的类满足该接口的定义,那么就可以被系统调用;当点击后,系统的底层会产生一个事件对象,该事件对象被派发给你已经写好的动作类的对象,即实现了OnClickListener接口的动作对象。
通常系统层面实现的就是一个主线程(UI线程)和一个消息队列,该主线程读取消息队列,并将相应的消息派发给相应的Listener对象,并执行该对象的方法。
通常系统层面实现的就是一个主线程(UI线程)和一个消息队列,该主线程读取消息队列,并将相应的消息派发给相应的Listener对象,并执行该对象的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-07
展开全部
加个count,点击就加1,500ms后清空。
private int count = 0;
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
count++;
if(cout == 1){
.监听处理.
}
}
}) ;
new Thread(new Runnable(){
public void run() {
try {
Thread.sleep(500);
count = 0;
} catch (InterruptedException e) {
e.printStackTrace();
}
}}).start();
private int count = 0;
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
count++;
if(cout == 1){
.监听处理.
}
}
}) ;
new Thread(new Runnable(){
public void run() {
try {
Thread.sleep(500);
count = 0;
} catch (InterruptedException e) {
e.printStackTrace();
}
}}).start();
追问
谢了,这个想法是比较新奇的。不过你和上面那位都理解错我的意思了。我的意思是有没有重写onClick事件的方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询