android 彈出日期選擇框


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             @Override
15             public void onClick(View v) {
16                 calendar = Calendar.getInstance();
17                 dialog = new DatePickerDialog(MainActivity.this,
18                         new DatePickerDialog.OnDateSetListener() {
19 
20                             @Override
21                             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), calendar
29                                 .get(Calendar.MONTH), calendar
30                                 .get(Calendar.DAY_OF_MONTH));
31                 dialog.show();
32             }
33         });
34 
35     }
36 }

 

對應的XML文件就一個TextView就不貼出來了

 

在點擊設置后,將值返回給了TextView為2014/4/6

 

代碼下載:代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM