倒計時,dialog上顯示倒計時,若是不點擊dialog,倒計時結束後自動跳轉

首先在strings.xml文件裏定義java

// 整數用 %d 字符串用 %s
<string name="prompt">"提示"</string>
<string name="the_video_is_removed">"該視頻已被移除"</string>
< string name =" R.string.back_list_num " formatted="false"> %d 返回播放列表 </ string >

/*若是你string裏面有%在編譯的時候它會格式化數據  這樣的話%就是錯誤的 你必須用%%這樣它格式化後就是一個%  
或者加轉義字符 這樣的話編譯就不會出錯了  
若是你加了 formatted="false"的話 就是告訴編譯的時候不用格式化 直接用本身寫的字符 這樣的話一個%就不會報錯了*/

private void dialog(){
    AlertDialog.Builder builder=new AlertDialog.Builder(this.getActivity());
    builder.setTitle(R.string.prompt);
    builder.setMessage(R.string.the_video_is_removed);
    builder.setNegativeButton(R.string.back_list_num,new DialogInterface.OnClickListener() {
        @Override 
        public void onClick(DialogInterface dialog,int which) { 
         dialog.dismiss(); 
         timer.cancel();//取消倒計時
        }
    });
    mDialog=builder.create();
    mDialog.show(); 
    timer.start();
}

CountDownTimer timer= new CountDownTimer(6000,1000) {
    @Override
    public void onTick(long arg0) {
        int thetime=(int) (arg0/1000);
        if(mDialog!=null){
        mDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setText(getString(R.string.back_list_num, thetime));
        }
    }


    @Override
    public void onFinish() {
        if(mDialog!=null){
            mDialog.dismiss();
        }
    }
};
相關文章
相關標籤/搜索