2012-05-01 82 views
3

如何在TimePicker中設置上一個選定的值?時間選擇器Android

我的意思是,單擊TextView,發生TimePicker對話框,然後選擇時間並將其設置在TextView中,例如,下午12:30在TextView上。

之後,如果我想要更改時間,請再次單擊TextView,然後TimePicker對話框應顯示上一個選定的值。所以TimePicker應該顯示12:30 PM。

我該怎麼做?

+0

http://stackoverflow.com/questions/3328757/how-to-click-or-tap-on-a-textview-text 這應該直設置您在您的問題 – 2012-05-01 13:29:31

回答

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的職位 –