0
上,我試圖讓這個倒計時到以天/小時/分/秒的事件的一天算。我需要更改此代碼,以便在啓動時使用當前的android手機時間和日期,以根據手機顯示的時間和日期顯示剩餘時間。目前,開始時間和日期是由我設定,每安裝並模擬器運行應用時,它顯示34天所以如果我安裝和運行它明天不會顯示33天但有34天后再次..我找不到任何問題有一個有用的答案,我在過去幾天看過幾個地方。這裏是我的事件活動java,我在相對佈局中使用TextView。倒計時開始在指定的時間和日期,我需要用時間和日期的android手機
extends Activity {
Button button01;
CountDownTimer mCountDownTimer;
TextView mTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.event_activity);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy, hh:mm");
Date a = null, b = null;
try {
a = sdf.parse("24-02-2014, 14:30");
b = sdf.parse("06-01-2014, 02:04");
} catch (ParseException e) {
e.printStackTrace();
}
mTextView = (TextView) findViewById(R.id.timer);
mCountDownTimer = new CountDownTimer(a.getTime() - b.getTime(), 1000) {
StringBuilder time = new StringBuilder();
@Override
public void onFinish() {
mTextView.setText(DateUtils.formatElapsedTime(0));
//mTextView.setText("Times Up!");
}
@Override
public void onTick(long millisUntilFinished) {
time.setLength(0);
// Use days if appropriate
if(millisUntilFinished > DateUtils.DAY_IN_MILLIS) {
long count = millisUntilFinished/DateUtils.DAY_IN_MILLIS;
if(count > 1)
time.append(count).append(" days, ");
else
time.append(count).append(" day, ");
millisUntilFinished %= DateUtils.DAY_IN_MILLIS;
}
if(millisUntilFinished > DateUtils.HOUR_IN_MILLIS) {
long count2 = millisUntilFinished/DateUtils.HOUR_IN_MILLIS;
if(count2 > 1)
time.append(count2).append(" hours, ");
else
time.append(count2).append(" hour, ");
millisUntilFinished %= DateUtils.HOUR_IN_MILLIS;
}
if(millisUntilFinished > DateUtils.MINUTE_IN_MILLIS) {
long count3 = millisUntilFinished/DateUtils.MINUTE_IN_MILLIS;
if(count3 > 1)
time.append(count3).append(" minutes, ");
else
time.append(count3).append(" minute, ");
millisUntilFinished %= DateUtils.MINUTE_IN_MILLIS;
}
time.append(DateUtils.formatElapsedTime(Math.round(millisUntilFinished/1000d)));
mTextView.setText(time.toString());
}
}.start();
}
請幫幫忙,我怎麼能得到這個更新,而不是將開始日期和時間自己當前的時間!它在運行模擬器時沒有顯示正確的開始時間,因爲它需要我運行它。由於
-KG
我得到錯誤說這些進口未使用「導入java.text.DateFormat中; import java.text.ParseException; import java.util.Date;' – user3167632
同樣的SimpleDateFormat顯示了這個錯誤「描述\t資源\t路徑\t位置\t類型 要獲得本地格式使用getDateInstance(),getDateTimeInstance(),或getTimeInstance(),或例如區域設置使用新的SimpleDateFormat(字符串模板,區域設置區域) .US用於ASCII日期。 \t線27 \t的Android林特問題」 – user3167632
請先移除先前的進口領域,並添加我的導入字段。沒有別的,它只是與兩種不同的進口產生衝突。 SimpleDateFormat不顯示錯誤,它只是顯示黃色警報消息。但它不妨礙代碼。 –