我尝试创建一组按钮,只需轻按一下即可将值上下调整1,然后按住按钮快速更改数值。我无法弄清楚如何快速改变价值。这就是我所拥有的:
btPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mTempo=mTempo+1;
setTempo(mTempo + 1);
tvTempo.setText(Integer.toString(mTempo));
}
});
btPlus.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public void onLongClick(View view) {
mTempo = mTempo + 1;
setTempo(mTempo + 1);
tvTempo.setText(Integer.toString(mTempo));
}
});
btMinus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mTempo=mTempo-1;
setTempo(mTempo - 1);
tvTempo.setText(Integer.toString(mTempo));
}
});
btMinus.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public void onLongClick(View view) {
mTempo = mTempo - 1;
setTempo(mTempo - 1);
tvTempo.setText(Integer.toString(mTempo));
}
});
return rootView;
}
感谢您的帮助。
答案 0 :(得分:0)
按住按钮不是长按它。您需要 onTouchListener
在onPressed方法中检查MotionEvent是UP还是DOWN,然后开始/停止计数。
编辑:尝试在线程中计数,类似:
Final Thread t = new Thread(new Runnable(){
@Override public void run(){
while(!t.isInterrupted(){
setTempo(mTempo++);
}
}
switch (event){
case ACTION_DOWN:
t.start();
break;
case ACTION_UP:
t.interrupt();
break
}