Я новичок в android (и не так горячий, но пытаюсь учиться).Передайте имя кнопки, нажатой на другой класс в Android
Я создаю приложение, в котором есть несколько различных кнопок, которые запускают таймеры обратного отсчета при нажатии.
О деятельности, которая имеет следующие кнопки следующий код используется для запуска таймера:
//Button 1 Start On Click
final CountDown buttonOneTimer = new CountDown(15000,1000);
buttonOne.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
buttonOneTimer.start();
}
});
//Button 2 Start On Click
final CountDown buttonTwoTimer = new CountDown(15000,1000);
buttonTwo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
buttonTwoTimer.start();
}
});
мой класс CountDown выглядит следующим образом:
public class CountDown extends CountDownTimer {
public CountDown (long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
System.out.println("Timer Completed.");
****NAMEOFTHEBUTTONCLICKED****.setText("Timer Completed.");
}
@Override
public void onTick(long millisUntilFinished) {
****NAMEOFTHEBUTTONCLICKED****.setText((millisUntilFinished/1000)+"");
System.out.println("Timer : " + (millisUntilFinished/1000));
}
}
Я пытаюсь получить имя кнопка нажата в классе, поэтому я могу установить текст на кнопке для обратного отсчета.
Я уверен, что я делаю все виды неправильно или могут быть лучшие способы сделать это, поэтому, если вы видите области, где я мог бы улучшить, не стесняйтесь критиковать меня!
Я читал через tutorial here, но он имеет «внутренний класс» (я считаю, что это то, что он называется?) Внутри текущего класса. Один мой друг сказал, что это очень редко делается, и просто создать отдельный класс, такой как CountDown. Если я сделаю это так же, как в учебнике, я могу заставить таймер работать (путем жесткого кодирования имени кнопок, где указано * NAMEOFTHEBUTTONCLICKED * выше, что означает, что он работает только для этой кнопки) - но мне все еще нужно чтобы выяснить, как передать этот класс именим кнопок, поэтому мне не нужно писать отдельный класс для каждого таймера.
Будет ли это сделано через Extras? Мне было трудно найти более подробную информацию по моей конкретной проблеме. Любая помощь приветствуется!
Тебя, мой друг победитель! Я знал, что это что-то вроде этого, но я все еще достаточно новый, я просто не знал, как это сделать! Спасибо!! – Hanny
Добро пожаловать :-) –