標籤:android style blog class code java
DatePickerDialog
在很多時候需要使用者去設定時間,不可能讓使用者去在一個文字框中去輸入時間,所以就需要有個日期彈出選擇框,而這個框就是DatePickerDialog。
1.在API中的DatePickerDialog類的繼承關係
從類的繼承關係來看DatePickerDialog繼承於Dialog就可以明顯看出是一個彈出框了
2.建構函式
callBack:是在你設定時間的時候觸發的。
year , monthOfYear , dayOfMonth這三個參數是用來初始化DatePickerDialog的年月日的,要想擷取當前的事件的年月日就要用到對象Calendar
通過Calendar的get(int field);來擷取年月日
3.Public Methods
有解釋就不多做說明了:
下面就通過一個小例子來理解一下時間dialog:
當點擊TextView後彈出DatePickerDialog,然後設定好時間確定後,將設定好的時間值顯示在TextView上面
MainActivity:
1 public class MainActivity extends Activity { 2 3 private TextView getTime; 4 private Calendar calendar;// 用來裝日期的 5 private DatePickerDialog dialog; 6 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState);10 setContentView(R.layout.activity_main);11 getTime = (TextView) findViewById(R.id.time);12 getTime.setOnClickListener(new View.OnClickListener() {13 14 @Override15 public void onClick(View v) {16 calendar = Calendar.getInstance();17 dialog = new DatePickerDialog(MainActivity.this,18 new DatePickerDialog.OnDateSetListener() {19 20 @Override21 public void onDateSet(DatePicker view, int year,22 int monthOfYear, int dayOfMonth) {23 System.out.println("年-->" + year + "月-->"24 + monthOfYear + "日-->" + dayOfMonth);25 getTime.setText(year + "/" + monthOfYear + "/"26 + dayOfMonth);27 }28 }, calendar.get(Calendar.YEAR), calendar29 .get(Calendar.MONTH), calendar30 .get(Calendar.DAY_OF_MONTH));31 dialog.show();32 }33 });34 35 }36 }
對應的XML檔案就一個TextView就不貼出來了
在點擊設定後,將值返回給了TextView為2014/4/6
代碼下載:代碼