我是android编程的先行者,并试图提高我的知识。我想创建一个回归计时器的应用程序,如下所示:我在名为"秒"的文本视图中插入我想要的秒数,然后按一个按钮,应用程序倒计时秒数(例如: 50,49,48,...,0)在另一个文本视图中,让我们说..." timeRemaining"。
如何做到这一点?我在这里已经读过其他一些问题,但说实话,我无法理解它们......
好吧,我设法在这里做了一些事情,倒计时工作正常,但只有我直接在代码上设置时间。我找不到一种方法来实现将文本视图中输入的数字(文本)转换为LONG,然后使用此值作为倒计时。
调试时没有错误,但是当模拟器即将运行应用程序并打开活动时,它会停止并显示消息"不幸的是,应用程序已停止"
这里有代码,如果有人能帮助我找到我失踪的东西,我会很高兴!
谢谢大家!
public class cronometro extends Activity implements View.OnClickListener {
Long tempo3 = Long.parseLong(findViewById(R.id.tempo).toString());
private CountDownTimer countDownTimer;
private boolean timerStarted = false;
private Button buttonStart;
public TextView textView;
private final long startTime = tempo3 * 1000;
private final long interval = 1 * 1000;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cronometro);
buttonStart = (Button) this.findViewById(R.id.button);
buttonStart.setOnClickListener(this);
textView = (TextView) this.findViewById(R.id.textView);
countDownTimer = new CountDownTimerActivity(startTime, interval);
textView.setText(textView.getText() + String.valueOf(startTime/1000));
}
@Override
public void onClick(View v) {
if (!timerStarted) {
countDownTimer.start();
timerStarted = true;
buttonStart.setText("PARAR");
} else {
countDownTimer.cancel();
timerStarted = false;
buttonStart.setText("REINICIAR");
}
}
public class CountDownTimerActivity extends CountDownTimer {
public CountDownTimerActivity(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
textView.setText("tempo esgotado!");
}
@Override
public void onTick(long millisUntilFinished) {
textView.setText("" + millisUntilFinished/1000);
}
}
}