方向上的动态时间显示崩溃
Dynamic time display crash on orientation
我有一个布局将显示 TextView
,它用于显示滴答作响 time.I 遵循此 link
中的代码
How to Display current time that changes dynamically for every second in android
但我得到一个错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
我在这里遇到了同样的问题,但我已经解决了
这是 Java 个代码
void clockTicking(){
final CountDownTimer newtimer = new CountDownTimer(1000000000, 1000) {
public void onTick(long millisUntilFinished) {
timeDisplay = (TextView)findViewById(R.id.txtTime);
Calendar c = Calendar.getInstance();
timeDisplay.setText(c.get(Calendar.HOUR)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND)+" PM");
}
public void onFinish() {
}
};
newtimer.start();
在您的代码中 timeDisplay 对象为空。
确保您的文本视图 ID 正确。仔细检查此行 timeDisplay = (TextView)findViewById(R.id.txtTime);
我认为你的 id txtTime 不正确。
希望对您有所帮助。
好的,所以我终于修复了它,它崩溃的唯一原因是因为在定向期间我使用的布局没有 TextView 而 Mitesh Vanaliya 声明是 correct.So 我通过使用此代码在定向时将其关闭来修复它,这要感谢 Ayyappan 来自
How to Display current time that changes dynamically for every second in android
关闭时钟
void clockUnTicking(){
CountDownTimer newtimer = new CountDownTimer(1000000000, 1000) {
public void onTick(long millisUntilFinished) {
timeDisplay = (TextView)findViewById(R.id.txtTime);
Calendar c = Calendar.getInstance();
timeDisplay.setText(c.get(Calendar.HOUR)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND));
}
public void onFinish() {
}
};
newtimer.cancel();
}
打开它只需将 newtimer.cancel();
替换为 newtimer.start()
我有一个布局将显示 TextView
,它用于显示滴答作响 time.I 遵循此 link
How to Display current time that changes dynamically for every second in android
但我得到一个错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
我在这里遇到了同样的问题,但我已经解决了
这是 Java 个代码
void clockTicking(){
final CountDownTimer newtimer = new CountDownTimer(1000000000, 1000) {
public void onTick(long millisUntilFinished) {
timeDisplay = (TextView)findViewById(R.id.txtTime);
Calendar c = Calendar.getInstance();
timeDisplay.setText(c.get(Calendar.HOUR)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND)+" PM");
}
public void onFinish() {
}
};
newtimer.start();
在您的代码中 timeDisplay 对象为空。
确保您的文本视图 ID 正确。仔细检查此行 timeDisplay = (TextView)findViewById(R.id.txtTime);
我认为你的 id txtTime 不正确。
希望对您有所帮助。
好的,所以我终于修复了它,它崩溃的唯一原因是因为在定向期间我使用的布局没有 TextView 而 Mitesh Vanaliya 声明是 correct.So 我通过使用此代码在定向时将其关闭来修复它,这要感谢 Ayyappan 来自
How to Display current time that changes dynamically for every second in android
关闭时钟
void clockUnTicking(){
CountDownTimer newtimer = new CountDownTimer(1000000000, 1000) {
public void onTick(long millisUntilFinished) {
timeDisplay = (TextView)findViewById(R.id.txtTime);
Calendar c = Calendar.getInstance();
timeDisplay.setText(c.get(Calendar.HOUR)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND));
}
public void onFinish() {
}
};
newtimer.cancel();
}
打开它只需将 newtimer.cancel();
替换为 newtimer.start()