Android 开发中DatePicker、TimePicker

    xiaoxiao2021-04-19  80

    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就能够匹配上了。

    转载请注明原文地址: https://ju.6miu.com/read-675779.html

    最新回复(0)