2015-09-15 10 views
-1

Я использую timepicker для своего приложения, теперь я могу установить время от timepicker и отправить его в следующий вид деятельности, теперь в следующем действии я использую таймер обратного отсчета, теперь в своем таймере обратного отсчета я хочу установить это время и запустить таймер после мой код timepicker и countdowntimerкак установить время timepicker для countdowntimer?

submit.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       String timeofevent = edttmofevent.getText().toString(); 

       Intent intent = new Intent(AddNewEvent.this, EventDetails.class); 
       intent.putExtra("times",timeofevent); 
       startActivity(intent); 
      } 
     }); 



private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() { 
     @Override 
     public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
      int hour; 
      //String am_pm; 
      if (hourOfDay > 12) { 
       hour = hourOfDay - 12; 
       // am_pm = "PM"; 
      } else { 
       hour = hourOfDay; 
       //am_pm = "AM"; 
      } 
      edttmofevent.setText(hour + " : " + minute + " "); 
     } 
    }; 

countdowntimer

Intent intent=getIntent(); 
     tim=intent.getStringExtra("times"); 
timerValue.setText(tim); 
     // final CounterClass timer = new CounterClass(Integer.parseInt(timerValue.getText().toString()), 1000); 
     playbc.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       startTime = SystemClock.uptimeMillis(); 

       customHandler.postDelayed(updateTimerThread, 0); 
       // timer.start(); 

      } 
     }); 

     pausebc.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       timeSwapBuff += timeInMilliseconds; 
       customHandler.removeCallbacks(updateTimerThread); 

       // timer.cancel(); 

      } 
     }); 


    } 

    private Runnable updateTimerThread = new Runnable() { 
     public void run() { 
      timeInMilliseconds = SystemClock.uptimeMillis() - startTime; 
      updatedTime = timeSwapBuff + timeInMilliseconds; 
      int secs = (int) (updatedTime/1000); 

      int mins = secs/60; 
      int hours = mins/60; 
      secs = secs % 60; 
      int milliseconds = (int) (updatedTime % 1000); 
      timerValue.setText(""+ hours +":" + mins + ":" 
        + String.format("%02d", secs) + ":" 
        + String.format("%03d", milliseconds)); 
      customHandler.postDelayed(this, 0); 

     } 
    }; 
+0

timeInMilliseconds = SystemClock.uptimeMillis() - startTime; Вы устанавливаете startTime как SystemClock.uptimeMillis(). это логическая ошибка, исправить его – Nithinlal

+0

@ Нитинлал, тогда, если я установил tim, он начнется с этого времени? – Aditya

+0

@ Нитинлал вы можете исправить ответ? – Aditya

ответ

0

Здесь час1 и min1 являются по умолчанию выбрано время диалога ..

void setTimeInterval() { 
     Calendar mcurrentTime = Calendar.getInstance(); 
     int hour1 = mcurrentTime.get(Calendar.HOUR_OF_DAY); 
     int minute1 = mcurrentTime.get(Calendar.MINUTE); 
     TimePickerDialog mTimePicker; 
     mTimePicker = new TimePickerDialog(getActivity(), new TimePickerDialog.OnTimeSetListener() { 
      @Override 
      public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) { 
       // eReminderTime.setText(selectedHour + ":" + 
       // selectedMinute); 
       hour = selectedHour; 
       minute = selectedMinute; 
       if (hour > 0 || minute > 0) { 
        sendSettingsTimeInterval(); 
       } 
      } 

     }, hour1, minute1, true);// Yes 24 hour time 
     mTimePicker.setTitle("Select Time Interval"); 
     mTimePicker.show(); 
    }