Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文本倒计时_Java_Android_Countdowntimer - Fatal编程技术网

Java 文本倒计时

Java 文本倒计时,java,android,countdowntimer,Java,Android,Countdowntimer,我想创建一个倒计时,其中初始数字由用户给出。我创建了这个应用程序,但当应用程序开始关闭时。我不明白错误是什么,因为在编译过程中没有错误。我做错了什么? 代码如下: public class Main2Activity extends AppCompatActivity { Button bstart, bStopReset; EditText editTimer; CountDownTimer timer; @Override protected void onCreate(Bundle

我想创建一个倒计时,其中初始数字由用户给出。我创建了这个应用程序,但当应用程序开始关闭时。我不明白错误是什么,因为在编译过程中没有错误。我做错了什么? 代码如下:

public class Main2Activity extends AppCompatActivity {

Button bstart, bStopReset;
EditText editTimer;
CountDownTimer timer;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    editTimer = (EditText) findViewById(R.id.contatore);
    bstart = (Button) findViewById(R.id.start);
    bStopReset = (Button) findViewById(R.id.stop_reset);
}

String valore = editTimer.getText().toString();

int ValoreIntero = Integer.parseInt(valore);


public void startOnClick(View view) {

    timer = new CountDownTimer(ValoreIntero, 1000) {
        @Override
        public void onTick(final long millSecondsLeftToFinish) {
            String time = String.valueOf(millSecondsLeftToFinish / 1000);
            editTimer.setText(time);
        }

        @Override
        public void onFinish() {
            editTimer.setText("Done!");
        }
    };
    timer.start();
}

public void stopOnClick(View view) {
    timer.cancel();
    editTimer.setText("0");
    }

}
xml:



您在初始化活动时设置这两个值,而不是在用户单击开始按钮时:

String valore = editTimer.getText().toString();
int ValoreIntero = Integer.parseInt(valore);

将它们移动到startOnClick方法中,这将修复您遇到的异常。

您应该查看logcat的日志,以找出错误的根本原因没有错误计时器工作正常吗?或者您可以使用Log.d(“某物”、“内容”);或System.out.println(“好”);看看logcat。把它放在程序启动时的某个地方或计时器方法中。你检查了ValoreIntero的值吗?
String valore = editTimer.getText().toString();
int ValoreIntero = Integer.parseInt(valore);