日期对话框DatePickerDialog
16lz
2021-01-26
在Android应用中,设置日期和时间是非常简单的事,由日期和时间对话框控件搞定。
一、界面
1、打开“src/com.genwoxue.datetimediy/active_main.java”文件。
然后输入以下代码:
<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:cursorVisible="true" >
2、打开“src/com.genwoxue.datetimediy/MainActivity.java”文件。
然后输入以下代码:
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;
public class MainActivity extends Activity {
private Button dateBtn = null;
private Button timeBtn = null;
private EditText et = null;
private final static int DATE_DIALOG = 0;
private final static int TIME_DIALOG = 1;
private Calendar c = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText) findViewById(R.id.et);
dateBtn = (Button) findViewById(R.id.dateBtn);
timeBtn = (Button) findViewById(R.id.timeBtn);
dateBtn.setOnClickListener(new View.OnClickListener() {//这样写不用import android.view.View.OnClickListener;
@SuppressWarnings("deprecation")
@Override
public void onClick(View v) {
showDialog(DATE_DIALOG);//废弃的自带方法
}
});
timeBtn.setOnClickListener(new OnClickListener() {//这样写要import android.view.View.OnClickListener;
@Override
public void onClick(View arg0) {
showDialog(TIME_DIALOG);
}
});
}
//创建日期及时间选择对话框
protected Dialog onCreateDialog(int id){
Dialog dialog = null;
switch(id){
case DATE_DIALOG:
c = Calendar.getInstance();
dialog = new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker dp, int year, int month, int dayOfMonth) {
et.setText("您选择了:"+year+"年"+(month+1)+"月"+dayOfMonth+"日");
}
}, c.get(Calendar.YEAR),//传入年份
c.get(Calendar.MONTH),//传入月份
c.get(Calendar.DAY_OF_MONTH));//传入天数
break;
case TIME_DIALOG:
c = Calendar.getInstance();
dialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
et.setText("您选择了:"+hourOfDay+"时"+minute+"分");
}
}, c.get(Calendar.HOUR_OF_DAY),
c.get(Calendar.MINUTE),
false);
break;
}
return dialog;
}
}
2、运行,显示界面:
更多相关文章
- android 数据库 sqlite数据类型(时间 日期 double等)
- Android(安卓)时间戳的转换
- android获取时间差的方法
- Android(安卓)中获取控件宽和高的方法(详细解析)
- 【Android】ArrayList通过remove方法删除元素对象源码分析
- 详解React Native开源时间日期选择器组件(react-native-datetime
- [转] Android(安卓)achartengine统计图
- android底部弹窗的几种实现方式
- Android获取时间