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;
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();
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.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