Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中使dialogbox成为动态计时器_Android - Fatal编程技术网

如何在android中使dialogbox成为动态计时器

如何在android中使dialogbox成为动态计时器,android,Android,如何使对话框随着时间的推移而动态?计时器也会倒计时。它只显示了剩余的时间。不倒计时。这是我如何获得对话框的代码 btnTimeLeft.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(d

如何使对话框随着时间的推移而动态?计时器也会倒计时。它只显示了剩余的时间。不倒计时。这是我如何获得对话框的代码

        btnTimeLeft.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            AlertDialog.Builder builder = new AlertDialog.Builder(downPaymentActivity.this);
            builder.setTitle("Time left");
            try {
                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                TimeZone tz = TimeZone.getTimeZone("Asia/Manila");
                sdf1.setTimeZone(tz);
                String currentDateandTime = sdf1.format(new Date());

                String givenDateString = tvDueDate.getText().toString();

                Date date1 = sdf1.parse(currentDateandTime);
                Date date2 = sdf1.parse(givenDateString);

                long restDatesinMillis = date2.getTime() - date1.getTime();
                String hms = String.format("%02d:%02d:%02d",
                        TimeUnit.MILLISECONDS.toHours(restDatesinMillis),
                        TimeUnit.MILLISECONDS.toMinutes(restDatesinMillis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(restDatesinMillis)),
                        TimeUnit.MILLISECONDS.toSeconds(restDatesinMillis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(restDatesinMillis)));

                builder.setMessage(hms);
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.cancel();
                    }
                });

                builder.show();
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
    });
}

你为什么不这样用倒计时来设置剩余时间呢

    new CountDownTimer(30000, 1000) {

     public void onTick(long millisUntilFinished) {
         mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
     }

     public void onFinish() {
         mTextField.setText("done!");
     }
  }.start();

我可以把它放在对话框里吗?在对话框里放TextView tv=new TextView(这个);tv.settext(毫秒级);