帮我写一个安卓5秒倒计时,不要使用countDownTimer
时间: 2023-06-16 18:07:53 浏览: 50
好的,以下是一个简单的安卓5秒倒计时的示例代码:
```
public class MainActivity extends AppCompatActivity {
private TextView countDownTextView;
private Handler handler;
private int secondsLeft;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
countDownTextView = findViewById(R.id.count_down_text_view);
handler = new Handler();
// 开始倒计时
startCountDown();
}
private void startCountDown() {
// 初始化倒计时秒数
secondsLeft = 5;
// 开启倒计时线程
new Thread(new Runnable() {
@Override
public void run() {
while (secondsLeft > 0) {
// 更新UI,显示倒计时秒数
handler.post(new Runnable() {
@Override
public void run() {
countDownTextView.setText(String.valueOf(secondsLeft));
}
});
// 等待1秒钟
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 减去1秒钟
secondsLeft--;
}
// 倒计时结束,更新UI
handler.post(new Runnable() {
@Override
public void run() {
countDownTextView.setText("倒计时结束");
}
});
}
}).start();
}
}
```
在这个示例中,我们使用了一个 `Handler` 对象来更新UI,创建了一个倒计时线程,每隔1秒钟更新一次倒计时秒数并等待1秒钟,直到倒计时结束。注意,由于该线程是在UI线程之外运行的,因此不能在其中更新UI,必须使用 `Handler` 来实现。