2012-05-01 2 views
3

TimePicker에서 이전에 선택한 값을 설정하는 방법은 무엇입니까?시간 선택기 Android

TextView를 클릭하면 TimePicker 대화 상자가 나타나고 시간을 선택하고 TextView에서 설정합니다. TextView에서 오후 12시 30 분.

그 후에 시간을 변경하려면 TextView를 다시 클릭하면 TimePicker 대화 상자에 이전에 선택한 값이 표시됩니다. 그래서 TimePicker는 12:30 PM을 표시해야합니다.

어떻게하면됩니까?

+0

http://stackoverflow.com/questions/3328757/how-to-click-or-tap-on-a-textview-text 찾을 경우이 질문 –

답변

3

onCreateDialog를 사용하여 시간 선택 대화 상자를 만들고 호출하면 이전 값이 자동으로 저장됩니다.

@Override 
protected Dialog onCreateDialog(int id) { 

switch (id) { 

    case 0: 

TimePickerDialog timeDlg = new TimePickerDialog(this, 
       new TimePickerDialog.OnTimeSetListener() { 

        @Override 
        public void onTimeSet(TimePicker view, int hourOfDay, 
          int minute) { 
         // TODO Auto-generated method stub 

         if (hourOfDay > 12) { 
          hourOfDay = hourOfDay - 12; 
          time = " PM"; 
         } else if (hourOfDay < 12 && hourOfDay != 0) { 
          time = " AM"; 
         } else if (hourOfDay == 12) { 
          time = " PM"; 
         } else if (hourOfDay == 0) { 
          hourOfDay = 12; 
          time = " AM"; 
         } 

         Toast.makeText(
           getApplicationContext(), 
           new StringBuilder().append(pad(hourOfDay)) 
             .append(":").append(pad(minute)) 
             .append(time), Toast.LENGTH_SHORT) 
           .show(); 
        } 
       }, 12, 00, false); 

     timeDlg.setMessage("Set Time:"); 

     timeDlg.setOnCancelListener(new OnCancelListener() { 

      @Override 
      public void onCancel(DialogInterface dialog) { 
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), "Dismiss", 
         Toast.LENGTH_SHORT).show(); 
      } 
     }); 
     return timeDlg; 
} 
    return null; 
} 

showDialog (id); 대화 상자를 표시합니다.

+0

상반기에 직선을 설정해야 이 유용한 게시물을 허용하고 upvote 게시물 –