倒计时,dialog上显示倒计时,如果不点击dialog,倒计时结束后自动跳转

首先在strings.xml文件里定义

// 整数用 %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();
        }
    }
};


你可能感兴趣的:(倒计时,dialog上显示倒计时,如果不点击dialog,倒计时结束后自动跳转)