您的位置:首页 > 移动开发 > Android开发

Android 控件之九:DatePicker日期选择控件 DatePickerDialog日期选择对话框

2015-09-05 18:01 711 查看
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;

public class MainHelloDatePicker extends Activity {
// 准备公用属性
private TextView dateDisplay;
private Button pickDate;
private int mYear;
private int mMonth;
private int mDay;
// 准备对话框Id
static final int DATE_DIALOG_ID = 0;
// 准备日期设置监听器
private OnDateSetListener dsl = new DatePickerDialog.OnDateSetListener() {
@Override
public voidonDateSet(Date Pickerview, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
dateDisplay.setText(mYear + "-" + (mMonth + 1) + "-" + mDay);
}
};

// 重写创建对话框方法
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
// 把Activity上下文、日期设置监听器、以及日期的年月日都作为参数传给那个新成立的对话框组件
return new DatePickerDialog(this, dsl, mYear, mMonth, mDay);
}
return null;
}

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 得到当前日期
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
// 获取xml中的组件
dateDisplay = (TextView) findViewById(R.id.dateDisplay);
pickDate = (Button) findViewById(R.id.pickDate);
// 给日期显示组件一个初始值
dateDisplay.setText(mYear + "-" + (mMonth + 1) + "-" + mDay);
// 给按钮绑定点击监听器
pickDate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/androidd"
android:layout_width="ffill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/dateDisplay"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp" >
</TextView>

<Button
android:id="@+id/pickDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="改变日期"
android:textSize="20sp" >
</Button>

</LinearLayo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: