本帖最后由 liu 于 2019-1-25 17:17 编辑
Android新手开发之旅目录
用法:
[Java] 纯文本查看 复制代码 Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
}
};
然后开启定时器
[Java] 纯文本查看 复制代码 //第一个参数 传入 Timer对象 第二个参数:几秒后开始执行定时器 第三个参数:每次执行时间的间隔
timer.schedule(task, 3000, 1000);
用完记得关闭
[Java] 纯文本查看 复制代码 task.cancel();
示例代码:
activity_main.xml:
[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:gravity="center">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout>
MainActivity:
[Java] 纯文本查看 复制代码 import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
private Timer timer;
private TextView tv;
private int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
timer = new Timer();
//第一个参数 传入 Timer对象 第二个参数:几秒后开始执行定时器 第三个参数:每次执行时间的间隔
timer.schedule(task, 3000, 1000);
}
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 1) {
i++;
tv.setText(String.valueOf(i));
}
}
};
TimerTask task = new TimerTask() {
@Override
public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};
@Override
protected void onDestroy() {
super.onDestroy();
task.cancel();
}
}
效果如下图:
|