Я пытаюсь создать набор кнопок, которые будут изменять значение вверх или вниз на 1 одним нажатием и быстро изменить значение, удерживая кнопку. Я не могу понять, как быстро изменить значение. Вот что у меня есть:Использование onLongClickListener для быстрого изменения значений
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;
}
Благодарим за помощь.
Я могу понять, используя onTouchListener, но я все еще борется с тем, как заставить его непрерывно рассчитывать, пока кнопка нажата. Какие-нибудь дополнительные мысли? –
Вы можете начать новую тему на DOWN и запустить ее. на UP вы прервите его. Поток подсчитывает время, а не прерывает цикл mTempo – Tobi
Ум помогает немного больше? Он говорит, что t получает доступ из внутреннего класса и должен быть объявлен окончательным в первом случае, а затем этот t не мог быть инициализирован во втором случае. –