Android筆記——date&time(日期時間選擇對話方塊)

來源:互聯網
上載者:User

Android筆記——date&time(日期時間選擇對話方塊)
TimePickerDialog(時間選擇對話方塊)

建立TimePickerDialog時間選擇對話方塊:

1.建立一個類繼承DialogFragement

2.重寫onCreateDialog()方法,返回一個TimePickerDialog對象

3.實現TimePickerDialog的OnTimeSetListener介面來接收一個回調,當使用者佈建時間

DatePickerDialog(日期選擇對話方塊)

建立DatePickerDialog日期選擇對話方塊:

1.建立一個類繼承DialogFragment

2.重寫onCreateDialog()方法,返回一個TimePickerDialog對象

3.實現DatePickerDialog的OnDateSetListener介面來接收一個回調,當使用者佈建日期


DatePickerDialog和TimePickerDialog是Android提供的可以彈出一個日期、時間選擇的對話方塊,我們可以在程式中通過執行個體化DatePickerDialog和TimePickerDialog來得到一個日期、時間對話方塊。這兩個類都是AlertDialog的子類

我提供了一個百度的關於Picker的官方說明,可能對理解這篇文章有協助:http://wenku.baidu.com/link?url=U77TPsl99lpf8QrGD2h6XKA6xJqzk-JseCnJhC9VmgYoWckhCZ8-3F3TzOkOZGLverjwt6JitlhW-wWMODAOQLtEpVxryaZxNlCQstOjLCK

點擊開啟連結

源碼:

html

                    


java

import java.util.Calendar;import android.os.Bundle;import android.annotation.SuppressLint;import android.app.Activity;import android.app.DatePickerDialog;import android.app.Dialog;import android.app.DialogFragment;import android.app.TimePickerDialog;import android.text.format.DateFormat;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.DatePicker;import android.widget.TextView;import android.widget.TimePicker;@SuppressLint({ "NewApi", "ValidFragment" })public class MainActivity extends Activity {private Button btnSetTime;private TextView tv_setTime;private TextView tv_setDate;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);               //執行個體化對象,通過findViewById和相應的xml布局組件綁定                btnSetTime = (Button) findViewById(R.id.button1_settime);tv_setTime = (TextView) findViewById(R.id.tv_settime);tv_setDate = (TextView) findViewById(R.id.tv_setdate);}//設定日期事件處理方法public void setDateClick(View v){SetDateDialog sdt = new SetDateDialog();sdt.show(getFragmentManager(), "datePicker");}//設定時間事件處理方法public void setTimeClick(View v){SetTimeDialog std = new SetTimeDialog();std.show(getFragmentManager(), "timePicker");}public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}//建立日期選擇對話方塊class SetDateDialog extends DialogFragment implements DatePickerDialog.OnDateSetListener{public Dialog onCreateDialog(Bundle savedInstanceState) {        //Calendar 是一個抽象類別,是通過getInstance()來獲得執行個體,設定成系統預設時間 final Calendar c = Calendar.getInstance();//擷取年,月,日                        int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH);int day= c.get(Calendar.DAY_OF_MONTH);                                          DatePickerDialog dpd = new DatePickerDialog(getActivity(), this, year, month, day);return dpd;}public void onDateSet(DatePicker view, int year, int month, int day) {tv_setDate.setText(year+"年"+(month+1)+"月"+day+"日");}}//建立時間選擇對話方塊@SuppressLint("NewApi") class SetTimeDialog extends DialogFragment implements TimePickerDialog.OnTimeSetListener{@SuppressLint("NewApi")public Dialog onCreateDialog(Bundle savedInstanceState) {//擷取小時,分鐘                        final Calendar c = Calendar.getInstance();int hour = c.get(Calendar.HOUR_OF_DAY);int minute = c.get(Calendar.MINUTE);                        TimePickerDialog tpd = new TimePickerDialog(getActivity(),this,hour, minute, DateFormat.is24HourFormat(getActivity()));return tpd;}public void onTimeSet(TimePicker view, int hourOfDay, int minute){tv_setTime.setText(hourOfDay+":"+minute);}}}

效果展示:



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.