我有一个简单的计数器应用程序,它在TextView
中显示按钮计数。这也是在ArrayList
的{{1}}中发送的,以记录按下按钮的时间。此时,每按一次按钮,它都会记录下来。虽然,我希望它只记录上次按下一系列按下的时间。
例如:如果在3秒钟内按下按钮3次,我希望日志只显示1行显示' 3'而不是3行显示' 1'。然后,如果在3秒内再次按下5次,则显示“3”和“3”。在一行和' 5'在下一个。目前它将显示8行所有' 1'在它上面。
生病需要某种onLastClickListener或类似的东西,但我无法解决这个问题......
答案 0 :(得分:0)
没有on" last" clickListener ...您必须教授onClickListener如何理解最终点击是什么。帮助您入门的示例:
View.OnClickListener listener = new View.OnClickListener() {
long lastClickTime = 0;
int countClicks = 0;
@Override
public void onClick(View v) {
long newClickTime = System.currentTimeMillis();
if((newClickTime - lastClickTime) <= 3000){
countClicks++;
}else{
lastClickTime = newClickTime;
countClicks = 1;
}
//Do Something with countClicks;
}
};