使用DatePickerDialog、TimePickerDialog

    DatePickerDialog与TimerPicker的功能比较简单,用户也简单,只要以下两步便可。java

    ①经过new关键字建立DatePickerDialog、TimePickerDialog实例,调用它们的show()方法便可将日期选择对话框、时间选择对话框显示出来。android

    ②为DatePickerDialog、TimePickerDialog绑定监听器,这样能够保证用户经过DatePickerDialog、TimePickerDialog设置事件时触发监听器,从而经过监听器来获取用户设置的事件。app

    下面的程序中定义了两个按钮,一个按钮用于打开日期选择对话框,一个用于打开时间对话框。该程序的界面布局文件以下:ide

   

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
     >
     <EditText android:id="@+id/show"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:editable="false"/>
     <LinearLayout 
         android:orientation="horizontal"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:gravity="center_horizontal">
         <Button android:id="@+id/dateBn" 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="设置日期"/>
         <Button android:id="@+id/timeBn" 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="设置时间"/>   
         
     </LinearLayout>
</LinearLayout>

对应的Activity后台代码文件以下:布局

package org.crazyit.helloworld;

import java.util.Calendar;

import android.os.Bundle;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;

public class DateDialogTest extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.date_dialog_test);
        Button dateBn=(Button)findViewById(R.id.dateBn);
        Button timeBn=(Button)findViewById(R.id.timeBn);
        //为“设置日期”按钮绑定监听器
        dateBn.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Calendar c=Calendar.getInstance();
                //直接建立一个DatePickerDialog对话框实例,并将它显示出来
                new DatePickerDialog(DateDialogTest.this, //绑定监听器
                        new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { // TODO Auto-generated method stub
                                EditText show=(EditText)findViewById(R.id.show); show.setText("您选择啦:"+year+"年"+(month+1)+"月"+dayOfMonth+"日"); } },c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH)).show();             }
            
        });
        //为“设置时间”按钮绑定监听器
        timeBn.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Calendar c=Calendar.getInstance();
                //建立一个TimePickerDialog实例,并把它显示出来
                new TimePickerDialog(DateDialogTest.this, //绑定监听器
                        new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub
                                EditText show=(EditText)findViewById(R.id.show); show.setText("您选择了:"+hourOfDay+"时"+minute+"分"); } } //设置初始时间
 ,c.get(Calendar.HOUR_OF_DAY) ,c.get(Calendar.MINUTE) //true表示采用24小时制
                        ,true).show();             }
            
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.date_dialog_test, menu);
        return true;
    }

}

上面的程序中两段粗体字代码就是建立并显示DatePickerDialog、TimePickerDialog的关键代码。运行上面的程序将会看到以下界面效果。
this

相关文章
相关标签/搜索