Android 开发中DatePicker、TimePicker

来源:互联网 发布:网络直播课堂 编辑:程序博客网 时间:2024/05/22 14:31
  • DatePicker的使用
  • TimePicker的使用
  • 关于匿名内部类

XML文件中对控件的布局

<TextView        android:id="@+id/textView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="请选择时间:" />    <DatePicker        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity = "center_vertical"        android:id="@+id/datePicker"        android:layout_below="@+id/textView">    </DatePicker>    <TimePicker        android:id = "@+id/timePicker"        android:layout_gravity = "center_horizontal"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/datePicker">    </TimePicker>    <EditText        android:id="@+id/show"        android:cursorVisible="false"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/timePicker"/>

因为这只是一个简单的Demo,所以只是简单的用了几个控件来作个展示使用

java中的代码

public class MainActivity extends Activity {    private DatePicker datePicker;    private TimePicker timePicker;    private EditText mEditText;    // 定义5个记录当前时间的变量    private int year;    private int month;    private int day;    private int hour;    private int minute;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }    private  void initView(){        datePicker = (DatePicker)findViewById(R.id.datePicker);        timePicker = (TimePicker)findViewById(R.id.timePicker);        mEditText = (EditText)findViewById(R.id.show);        // 获取当前的时间       // Calendar ca = Calendar.getInstance();        Calendar ca = Calendar.getInstance();        year = ca.get(Calendar.YEAR);        month = ca.get(Calendar.MONTH);        day = ca.get(Calendar.DAY_OF_MONTH);        hour = ca.get(Calendar.HOUR);        minute = ca.get(Calendar.MINUTE);        Date d = new Date();       d.setTime(System.currentTimeMillis());        // 初始化DatePicker控件        datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {            @Override            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {                MainActivity.this.year = year;                MainActivity.this.month = monthOfYear;                MainActivity.this.day = dayOfMonth;                // 显示当前时间                showDate(year,month,day,hour,minute);            }        });        timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {            @Override            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {                MainActivity.this.hour = hourOfDay;                MainActivity.this.minute = minute;                showDate(year,month,day,hour,minute);            }        });    }    // 显示当前时间    private void showDate(int year,int month,int day,int hour,int minute){        mEditText.setText("日期为:"+ year+"年"+(month+1)+"月"+day+"日"+hour+"时"+minute+"分");    }}

这边为什么要在month上加一个1,因为在Android开发中月份是从0开始的,所以在加上一个1就能够匹配上了。

0 0
原创粉丝点击