Androidでは、Handlerがカウントダウンを実現する2つの方法があります。
背景:
最近のプロジェクトでは、この機能ブロックを登録/登録するのにちょうどいいです。認証コードを送ることで、所定の時間内に認証コードを使って登録/登録を完了する必要があります。前のプロジェクトにもこの機能がありましたが、複雑すぎて、自分でもう一度実現します。Handlerで作って、コードの紹介を感じて、ロジックもはっきりしています。
コード1:
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
最近のプロジェクトでは、この機能ブロックを登録/登録するのにちょうどいいです。認証コードを送ることで、所定の時間内に認証コードを使って登録/登録を完了する必要があります。前のプロジェクトにもこの機能がありましたが、複雑すぎて、自分でもう一度実現します。Handlerで作って、コードの紹介を感じて、ロジックもはっきりしています。
コード1:
// , :
mHandler.obtainMessage();
mHandler.sendEmptyMessage(MSG_CODE);
// :
private static final int MSG_CODE = 0;
private int limitTime = 121;
private Handler mHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
if(msg.what==MSG_CODE){
limitTime--;
if(limitTime>0){
mHandler.sendEmptyMessageDelayed(MSG_CODE,1000);
mBtnVerify.setText(" :"+limitTime+"s");
}else{
mBtnVerify.setText(" ");
}
return true;
}
return false;
}
});
コード二:
// , :
mHandler.post(myRunnale);
// :
private int time = 11;
private Handler mHandler = new Handler();
private Runnable myRunnale = new Runnable() {
@Override
public void run() {
time--;
if(time>0){
mHandler.postDelayed(myRunnale,1000);
mTvChange.setText(" "+time+"s");
}else{
mTvChange.setText(" ");
}
}
};
上記のコードから、Handler.postを使うことはMessgaeをリリースするための便利な方法であることが分かります。以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。