2013-07-07 2 views
0

사용자가 입력 한 날짜를 기준으로 안드로이드 앱에서 카운트 다운을 설정하려고합니다.EditText Android에서 Time 객체를 설정하는 방법은 무엇입니까?

final EditText dateField = (EditText) findViewById(R.id.dateSentData); 
     String dateSent = dateField.getText().toString(); 
     Double date = Double.parseDouble(dateSent); 

     Time TimerSet = new Time(); 
     TimerSet.set(date); //day month year 
     TimerSet.normalize(true); 
     long millis = TimerSet.toMillis(true); 

     Time TimeNow = new Time(); 
     TimeNow.setToNow(); // set the date to Current Time 
     TimeNow.normalize(true); 
     long millis2 = TimeNow.toMillis(true); 

     long millisset = millis - millis2; //subtract current from future to set the time remaining 

     final int smillis = (int) (millis); //convert long to integer to display conversion results 
     final int smillis2 = (int) (millis2); 

new CountDownTimer(millisset, 1000) { 
      public void onTick(long millisUntilFinished) { 

       mText = (TextView)findViewById(R.id.weddingDateData); 

       // decompose difference into days, hours, minutes and seconds 
       int weeks = (int) ((millisUntilFinished/1000)/
         604800); 
       int days = (int) ((millisUntilFinished/1000)/86400); 
       int hours = (int) (((millisUntilFinished/1000) - (days 
         * 86400))/3600); 
       int minutes = (int) (((millisUntilFinished/1000) - ((days 
         * 86400) + (hours * 3600)))/60); 
       int seconds = (int) ((millisUntilFinished/1000) % 60); 
       int millicn = (int) (millisUntilFinished/1000); 

       mText.setText(" " +days); 
      } 
      public void onFinish() { 

      } 
     }.start(); 

:

그래서 사용자는 글고 객체의 날짜를 설정하고 나는 내가 글고 객체의 값을 가지고 아래의 코드를 실행하는 데 필요한 저장을 클릭하면 날짜 선택기가 있습니다

TimerSet.set(date); 

사람이 좀 도와 주시겠습니까 : 그것은 문자열을 제외시켰다 또는 두 번 만 긴하지 않습니다 다음 줄에 그런 말로 위의 코드는 실행 못해? 사전에

감사

답변

1

안녕하세요이

//TimerSet.set(int second, int minute, int hour, int monthDay, int month, int year) This is the structure for method TimerSet 
TimerSet.set(0,25,24,12,7,2013); 

TimerSet.set(date); 

을 변경 날짜와 시간을 설정할 수 있습니다 2013년 12월 7일 24:25:00

하지만 TimerSet으로 축배를 보낼 때 문제가 발생한다고 생각합니다.

Toast.makeText(MainActivity.this, "date: "+ TimerSet, Toast.LENGTH_LONG).show(); 
,363,210

내가 설정 한 날짜가이 13/08/2013 24:25:00

그래서 내가 무슨 짓을하는 것은 내가 달 감소합니다이 (은이

Time TimerSet = new Time(); 
TimerSet.set(0,25,24,12,7,2013); 

을 변경하는 것을 말한다 1에 의해 일)이 함께

int year = 2013; 
int month = 7 - 1; 
int day = 12 - 1; 
int hour = 24; 
int minutes = 55; 
int seconds = 0; 

Time TimerSet = new Time(); 
//set(int second, int minute, int hour, int monthDay, int month, int year) 
TimerSet.set(seconds,minutes,hour,day,month,year); 

그것은 2013년 12월 7일 24:25:00

희망 나에게이 도움을 정확한 날짜를 제공합니다 당신이나 다른 솔루션이있는 경우하시기 바랍니다 다른 방법으로 해결하는 방법을 말해줘.

감사합니다.

0

epoch 밀리 세컨드를 나타내는 길이 값을 예상 Time.set 방법.

입력으로받는 날짜 형식에 따라 다른 방법으로 날짜를 구문 분석해야합니다. 그래서 날짜와 시간이 있어야한다

+0

어떻게 수행 할 수 있습니까? – user723858

+0

'SimpleDateFormat'을 사용하십시오. 예를 들어, 형식이 일/월/년 인 경우 : Date date = new SimpleDateFormat ("dd/MM/yyyy"). parse (dateSent); – Jong

관련 문제