start1.cancel()
- правильный метод вызова таймера для отмены.
Вы не предоставили никаких сведений об ошибке, которую вы получили, или о том, почему она не сработала для вас, но я предполагаю, что ваша программа не скомпилировалась, потому что ваша переменная start1
является локальной переменной, Вероятно, он является локальным для любого метода, в котором находится ваш блок try
. Это означает, что ваша конструкция OnClickListener
не знает, что такое start1
.
Чтобы исправить это, просто объявите start1
как переменную класса (вне всех методов, но внутри класса):
public class someClass {
CountDownTimer start1;
// blah some code
public void someMethod {
try {
start1 = new CountDownTimer() { //etc
Это позволит другим методам распознавать и взаимодействовать с start1