【Android 开发】:UI控件之时间和日期对话框控件的的使用(四)

来源:互联网 发布:网络广告宣传 编辑:程序博客网 时间:2024/05/21 17:47
    上一讲我们讲解了ProgressDialog的对话框的操作,这一讲我们来讲解一下日期和时间的对话框的操作

1. DatePickerDialog 日期对话框的操作

    查看 DatePickerDialog 的API文档,它也是继承关系如下所示:
DatePickerDialog extends AlertDialog
    implements DialogInterface.OnClickListener DatePicker.OnDateChangedListener
构造方法如下:
public DatePickerDialog (Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)
Context context:上下文对象
DatePickerDialog.OnDateSetListener callBack 第二个参数表示,当点击改变日期时,会触发这个回调
int year, int monthOfYear, int dayOfMonth 初始化年月日


2. TimePickerDialog 时间对话框的操作

时间对话框与日期对话框的操作类似。
public TimePickerDialog (Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView)
    最后一个参数,表示选择二十四小时的形式,或者分为上午/下午的形式
    is24HourView    Whether this is a 24 hour view, or AM/PM.

3. 程序代码

public class MainActivity extends Activity {    private Button button;    private Button button2;    // 初始化年月日    private int year;    private int monthOfYear;    private int dayOfMonth;        // 初始化时间    private int hourOfDay;    private int minute;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initComponent();        // 初始化年月日        Calendar calendar = Calendar.getInstance();        year = calendar.get(Calendar.YEAR);        monthOfYear = calendar.get(Calendar.MONTH);        dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);                // 初始化时间        hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);        minute = calendar.get(Calendar.MINUTE);        button.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this,                        new OnDateSetListener() {                            //当选中日期时候会触发这一个效果                            @Override                            public void onDateSet(DatePicker view, int year, int monthOfYear,                                    int dayOfMonth) {                                // TODO Auto-generated method stub                                String str = year + "年-" + monthOfYear + "月-" + dayOfMonth + "日";                                Toast.makeText(MainActivity.this, str, 3).show();                            }                        }, year,                        monthOfYear, dayOfMonth);                datePickerDialog.show();            }        });                        button2.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                // TODO Auto-generated method stub                TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {                                        @Override                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {                        // TODO Auto-generated method stub                        String str1 = hourOfDay + "时-" + minute + "分";                        Toast.makeText(MainActivity.this, str1, 3).show();                    }                }, hourOfDay, minute, true);                timePickerDialog.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.main, menu);        return true;    }    private void initComponent() {        button = (Button) findViewById(R.id.button1);        button2 = (Button) findViewById(R.id.button2);    }}

4. 执行过程

       
















原创粉丝点击