2012-05-01 13 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 –

関連する問題