我的問題之一是在android中更改天文臺的格式。 我有問題,天文鐘顯示00:00格式的時間,我希望它在00:00:00 format.does任何人都知道答案?如何更改天文臺的格式?
回答
我正在使用這種格式的倒數計時器,但它是用於HH:MM:SS。那是你在找什麼或者你在尋找MM:SS:毫秒。你可以使用這段代碼,並使其從0而不是向下計數。這裏是鏈接 - Formatting countdown timer with 00:00:00 not working. Displays 00:00:00 until paused then displays the time remaining ,這可能會幫助 - Show milliseconds with Android Chronometer
精密測setFormat方法是用來添加格式化的文本,如:
「從開始時間%的」
導致
「從時間00:00開始」
在天文臺中,您不能選擇格式HH:MM:SS或MM:SS。
所以這意味着你不能像其他答案所建議的那樣在'ChronometerTickListener'中做某些操作而不設置最終結果爲「00:00:00」的格式。不是嗎? – 2017-12-27 08:25:44
我正在處理同樣的問題。實現這一目標最簡單的方法將被重寫UPDATETEXT的天文臺表的方法,但不幸的是它是一個私有方法,所以我也這樣做到了這一點:
mChronometer.setText("00:00:00");
mChronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
CharSequence text = chronometer.getText();
if (text.length() == 5) {
chronometer.setText("00:"+text);
} else if (text.length() == 7) {
chronometer.setText("0"+text);
}
}
});
我知道這將是更好的自定義的widget寫但對於小型項目來說,它可能是合適的。
在天文臺上設置格式允許格式化文本週圍的實際時間和時間格式化使用DateUtils.formatElapsedTime。
希望有所幫助。
這裏是天文鐘時間格式00:00:00一個簡單和智能解決方案的Android
Chronometer timeElapsed = (Chronometer) findViewById(R.id.chronomete);
timeElapsed.setOnChronometerTickListener(new OnChronometerTickListener(){
@Override
public void onChronometerTick(Chronometer cArg) {
long time = SystemClock.elapsedRealtime() - cArg.getBase();
int h = (int)(time /3600000);
int m = (int)(time - h*3600000)/60000;
int s= (int)(time - h*3600000- m*60000)/1000 ;
String hh = h < 10 ? "0"+h: h+"";
String mm = m < 10 ? "0"+m: m+"";
String ss = s < 10 ? "0"+s: s+"";
cArg.setText(hh+":"+mm+":"+ss);
}
});
timeElapsed.setBase(SystemClock.elapsedRealtime());
timeElapsed.start();
夥計,真的很好的解決方案。 ) – 2013-10-02 08:46:38
感謝您的想法,我修改了一下代碼以改善性能 \t cArg.setText(String.format(「%02d:%02d:%02d」,h,m ,s)); – 2015-05-03 12:21:01
有沒有辦法做到這一點,如果計時器是在一個小部件(主屏幕小部件)? – ArJ 2016-06-04 13:33:21
You can use this code. Setting the format and removing it
//Removing the format (write this in oncreate)
if(mChronometerformat){
mSessionTimeChro.setOnChronometerTickListener(new OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
if (chronometer.getText().toString()
.equals("00:59:59"))
chronometer.setFormat(null);
}
});}
// Setting the format
mSessionTimeChro.setBase(SystemClock.elapsedRealtime());
if (diffHours == 0) {
mSessionTimeChro.setFormat("00:%s");
mChronometerformat = true;
}
mSessionTimeChro.start();
爲什麼只是沒有使用Date類?
timeElapsed.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer cArg) {
long time = SystemClock.elapsedRealtime() - cArg.getBase();
Date date = new Date(time);
DateFormat formatter = new SimpleDateFormat("HH:mm:ss");
String dateFormatted = formatter.format(date);
cArg.setText(dateFormatted);
}
});
簡單幹淨
Chronometer類需要setText(String)方法中的特定模式。您的代碼將引發異常。 – 2015-01-29 13:28:45
@FranziskusKarsunke 你檢查過這種模式嗎? **默認情況下,它將以「MM:SS」或「H:MM:SS」的形式顯示當前計時器值,或者您可以使用setFormat(String)將計時器值格式化爲任意字符串** – Marurban 2015-01-29 13:58:18
這是有效的,但將時間作爲一個整體來處理會更有效率,而不是每秒都實例化一個新的Date和DateFormat對象。 – k2col 2015-10-30 18:10:33
- 1. Android天文臺:天文臺的設置格式
- 2. 的Android CalendarView更改文本天風格
- 3. 從GWT平臺的URL格式更改「#」
- 4. DateTime格式文化 - 如何更改它?
- 5. 如何更改格式1格式2
- 6. 如何更改NSDate格式
- 7. 如何更改JSON格式?
- 8. 如何更改created_at格式
- 9. 如何更改Json格式?
- 10. 如何更改SystemTime格式?
- 11. 如何更改JSON格式?
- 12. 如何更改datepicker格式?
- 13. 天文臺更新時間
- 14. 如何在後臺列表視圖中更改日期格式
- 15. 如何更改單元格中長文本的格式?
- 16. 更改VS2010文本格式
- 17. 如何更改 - INTERVAL 7天?
- 18. 的Python更改文本文件的格式爲新的格式
- 19. 如何更改system.timespan格式的VB.net?
- 20. 如何更改DateTime/GetLastWriteTime的格式?
- 21. 如何更改CreationTime.ToShortDateString()的日期格式?
- 22. 如何更改浮點數的格式?
- 23. 如何更改sqlite的時間格式?
- 24. 如何更改Rails asset_tag URL的格式?
- 25. 如何更改我的參數格式?
- 26. 如何更改MySQL結果的格式?
- 27. 如何更改datatimepicker結果的格式?
- 28. 如何更改Wordpress中的URL格式?
- 29. 如何更改表格的模式?
- 30. 如何更改JSON輸出的格式?
即時尋找HH:MM:SS格式......... BT天文臺表不顯示它時,它是在幾秒鐘或幾分鐘爲00:00: 00 format.it僅在秒倒數時顯示00:00。或分鐘。 – Nikki 2010-11-15 03:55:00