为android做一个基本的计时器?

时间:2012-02-22 23:34:10

标签: java android xml timer android-edittext

我设置了main.xml布局,其中包含用于设置锻炼时间的框,当每个时间用完时,您会收到警报。您只需按开始按钮即可启动计时器。当你输入时间并按下开始时,如何开始计时并提醒你?

main.xml中

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

<TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Warm-Up" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal" >
</EditText>

<TextView
    android:id="@+id/textView4"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Fast" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Recovery" />

<EditText
    android:id="@+id/editText3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal" >
</EditText>

<TextView
    android:id="@+id/textView6"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Times" />

<EditText
    android:id="@+id/editText4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal" />

<TextView
    android:id="@+id/textView7"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Cool-Down" />

<EditText
    android:id="@+id/editText5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal" />

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

2 个答案:

答案 0 :(得分:2)

 new CountDownTimer(timeToBlow, timeToTick) {

 public void onTick(long millisUntilFinished) {
     Log.d(TAG,"About to blow!!!");
 }

 public void onFinish() {
     Log.d(TAG,"BOOM!");
 }
}.start();

只需将timeToBlow替换为您从文本字段获取的时间,并将timeToTick替换为您想要的任何时间。

Source

答案 1 :(得分:-1)

这是我通过简单搜索谷歌找到的java计时器的基本示例。 http://www.gammelsaeter.com/programming/simple-timer-example-in-java/

从文本框中抓取用户输入并使用它来设置延迟时间。就你的提醒而言,一旦计时器结束,你将不得不从后台线程中解雇一些东西。