アプリ起動ページでは3秒カウントダウンしてアプリのホームページにジャンプしますが、この動作は多くのアプリで共通です。遅延操作を行う必要がある場合はどうすればよいですか? 3 秒間滞在するサブスレッドを作成してから操作を実行します。この場合、UI 操作はメインスレッドに配置する必要があるため、UI 操作をメインスレッドに変換する必要があることに特別な注意を払う必要があります。メインスレッド?いいえ、ハンドラーを使用すると、カウントダウンと遅延操作を簡単に実装できます。
1. 起動ページのカウントダウンの詳細操作
private int duration = 6;
private Handler updateHandler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);
if (msg.what == 2) {
if (duration > 0) {
duration--;
appStartBinding.jumpButton.setText(duration + "s跳过");
if (duration == 1) {
//用户自己的操作
}
updateHandler.sendEmptyMessageDelayed(2, 1000);
}
}
}
};
//在需要倒计时的地方执行以下代码
updateHandler.sendEmptyMessage(2);
2. 遅延動作
ハンドラーを使用して、UI スレッドがメインスレッド上にあるかどうかを気にせずに遅延リクエストを実行します
private Handler updateHandler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);
if (msg.what == 14) {
//用户自己的操作
}
}
};
//在需要延时操作的地方执行以下代码
/**
* 第一参数:what
* 第二个参数:需要延时的毫秒数
*/
updateHandler.sendEmptyMessageDelayed(14, 2000);
上記のカウントダウン操作と遅延操作を実装するには、アクティビティの onDestroy() メソッドでそれらを忘れずに削除してください。
if (updateHandler != null) {
updateHandler.removeCallbacksAndMessages(null);
}
上記は、Android でのシンプルで実用的なカウントダウン ジャンプと遅延操作の具体的な手順とコードです。カウントダウンと遅延操作を実装するには多くの方法がありますが、それがニーズを満たすかどうかを確認する必要があります。