2011-12-30 109 views
11

我想知道如何在Android中實現一個簡單的計時器,該計時器具有以HH:MM:SS:MsMs格式顯示數據的開始和停止按鈕...我一直在搜索和搜索,我已經找到了谷歌開發人員的一些類,但他們沒有給出例子,我迷路了...你能指導我一個教程/例子嗎?我剛剛開始在Android :)任何幫助將不勝感激。在Android中創建一個計時器

回答

14

只需在XML或代碼中實現計時器,並使用其start()方法啓動它,並使用stop()方法來停止它。

更可以在這裏找到:http://developer.android.com/reference/android/widget/Chronometer.html

XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <Chronometer 
     android:id="@+id/chronometer1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Start" 
     android:onClick="startChronometer"/> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Stop" 
     android:onClick="stopChronometer"/> 

</LinearLayout> 

的Java:

public class Main extends FragmentActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.test); 
    } 

    public void startChronometer(View view) { 
     ((Chronometer) findViewById(R.id.chronometer1)).start(); 
    } 

    public void stopChronometer(View view) { 
     ((Chronometer) findViewById(R.id.chronometer1)).stop(); 
    } 
} 

你可能會添加一些代碼到startChronometer()方法來重新啓動計數器。

+0

我有更多的佈局(XML),我想使用天文臺......我如何適應這條線「setContentView(R.layout.test);」使其能夠接收來自其他佈局的呼叫,而不僅僅是來自「測試」的呼叫? – user1123530 2011-12-30 21:38:55

+0

我不知道我是否正確,但如果您不添加Java中的計時器,則需要在每個XML佈局中使用天文臺。 – user1014917 2011-12-30 21:49:32

+0

好吧,我有一個菜單,將我重定向到五個具有計時器和java文件的java標準XML文件,包括上面代碼中的java和XML ......如何調整java文件以服務五個xml?或者我必須爲每個xml創建一個java文件? – user1123530 2011-12-30 22:17:40