我已经为双击创建了一个Java类,但是我不能双击该项目,因为当我只单击一次时,该项目不会等待双击!
双击类代码
package com.programiner.studyvillaadmin.Classes.Listener;
import android.view.View;
public abstract class DoubleClickListener implements View.OnClickListener {
private static final long DOUBLE_CLICK_TIME_DELTA = 300;//milliseconds
long lastClickTime = 0;
@Override
public void onClick(View v) {
long clickTime = System.currentTimeMillis();
if (clickTime - lastClickTime < DOUBLE_CLICK_TIME_DELTA){
onDoubleClick(v);
lastClickTime = 0;
} else {
onSingleClick(v);
}
lastClickTime = clickTime;
}
public abstract void onSingleClick(View v);
public abstract void onDoubleClick(View v);
}
private long mLastClickTime = 0;
@Override
public void onClick(View v) {
if (SystemClock.elapsedRealtime() - mLastClickTime < 1000) //*1000 is time to perform second click*
return; *// return when second click happen in second*
mLastClickTime = SystemClock.elapsedRealtime();
GameSound.getInstance(getApplicationContext()).sound__(GameSound.buttonClick);
if (v == findViewById(R.id.tvUsername)) {
StartActivity(UserProfile.class);
}
}
例子
public long mLastClickTime=0
//声明和定义公共
holder.itemView.setOnClickListener(new View.OnClickListener() { //click lister of itemview of RV Adapter
@Override
public void onClick(View v) {
if (SystemClock.elapsedRealtime() - mLastClickTime < 1000) //*1000 is time to perform second click*
return; // return when second click happen in second*
mLastClickTime = SystemClock.elapsedRealtime();
//do stuff here...
}
});
问题内容: 我有一个简单的代码,单击链接即可打开一个新窗口。但是在执行脚本时,单击相当于双击同一元素,并打开2个窗口。 我正在使用InternetExplorer驱动程序 问题答案: 当你一起工作 , 用 ,您可以考虑通过传递以下配置属性 类别: :由于InternetExplorerDriver仅适用于Windows,因此它尝试使用所谓的“本机”或OS级事件在浏览器中执行鼠标和键盘操作。这与对相
在我的应用程序中,我有一个按钮。单击和双击按钮后,将执行单独的操作。我该怎么做?谢谢
问题内容: 我在论坛上搜索并看到以下代码: 但是代码运行不正确(有时会打印出“并且单击一次!” 2次。应该打印出“并且双击!”)。有人可以告诉我为什么吗?还是可以给我一些更好的方法呢?谢谢! 问题答案: 有时它会打印出“并且只需单击一次!” 2次 。它应该打印出“,这是双击!”)。 那是正常的。仅当您在指定的时间间隔内单击两次时,才会发生双击。因此,有时如果单击速度不够快,您将连续获得两次单击。
问题内容: 默认情况下,事件一键启动。我有一个,但我想从双击开始。可能吗? 问题答案: 我相信您可以从MouseEvent中提取点击计数(假设其名为e) 试试这个
问题内容: 有人能想到一种忽略Java双击附带的单击的好方法吗? 我希望每种行为都有不同的行为,例如: 单击可在点击点上绘制十字准线 双击选择屏幕上的对象,但应该 不是 搽点击点十字线 …有人能想到一种方法吗?某种计时器设置可能是?一个想法赞赏:-) <免责声明> …而且是的,我知道我正在犯一个最令人发指的可用性/ UI伪装。 问题答案: 实际上,您需要在MouseAdapter的重写mouseC
我也尝试过使用KeyboardShouldPersistTaps=Handled,但我仍然必须在自定义按钮上点击两次才能执行一个操作。谁能告诉我,我在代码中做错了什么? 谢了。