适用于Android的天文台应用程序

时间:2015-01-24 19:36:48

标签: android chronometer

我是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);
    }
 }
}

0 个答案:

没有答案