DatePickerDialog日期选择器的使用

来源:互联网 发布:数据可视化大屏展示 编辑:程序博客网 时间:2024/04/30 09:26

DatePickerDialog是在安卓系统3.0以后使用的,要使用呢,首先写一个类继承DialogFragment,实现DatePickerDialog.OnDateSetListener的接口,配合Calendar这个类使用
简单demo效果
代码如下:

package com.huang.datepickerdalog;import java.util.Calendar;import android.app.Activity;import android.app.DatePickerDialog;import android.app.Dialog;import android.app.DialogFragment;import android.app.FragmentManager;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.DatePicker;import android.widget.TextView;public class MainActivity extends Activity {    private static final int UPDATE = 1;    private TextView mTextView;    private Button mbButton;    private static int mYear;    private static int mMonth;    private static int mDay;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        findView();        Calendar c = Calendar.getInstance();        mYear = c.get(Calendar.YEAR);        mMonth = c.get(Calendar.MONTH);        mDay = c.get(Calendar.DAY_OF_MONTH);        updateDisplay();    }    private void updateDisplay() {        StringBuffer s = new StringBuffer().append(pad(mYear)).append("-")                .append(pad(mMonth+1)).append("-").append(pad(mDay));         mTextView.setText(s);    }    private void findView() {        mTextView = (TextView) findViewById(R.id.textView1);        mbButton = (Button) findViewById(R.id.button1);        mbButton.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                MydatePickerDialog dialog = new MydatePickerDialog();                FragmentManager fm = getFragmentManager();                dialog.show(fm, "pickerDialog");            }        });    }    /**     * 若数字大于10,直接显示,否则显示0c 如:18则显示为18,8则显示08     *      * @param c     * @return     */    private static String pad(int c) {        if (c >= 10) {            return String.valueOf(c);        } else {            return "0" + String.valueOf(c);        }    }    public static class MydatePickerDialog extends DialogFragment implements            DatePickerDialog.OnDateSetListener {        @Override        public Dialog onCreateDialog(Bundle savedInstanceState) {            DatePickerDialog datePickerDialog = new DatePickerDialog(                    getActivity(), this, mYear, mMonth, mDay);            return datePickerDialog;        }        @Override        public void onDateSet(DatePicker view, int year, int monthOfYear,                int dayOfMonth) {            mYear = year;            mMonth = monthOfYear;            mDay = dayOfMonth;        }    }}

布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.huang.datepickerdalog.MainActivity" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/textView1"        android:layout_marginLeft="20dp"        android:text="Button" /></RelativeLayout>
0 0