package ling.android.DatePikerDialog02; import java.util.Calendar; import android.app.Activity; import android.app.DatePickerDialog; import android.app.Dialog; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.DatePicker; import android.widget.TextView; public class DatePikerDialog02 extends Activity { /* * 这些都是和mars老师的视频教程相同,大家有兴趣可以看看 */ private Button setButton; private TextView myText; private static final int DATE_PICKER_ID=1; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setButton=(Button)findViewById(R.id.setButton); setButton.setOnClickListener(new setButtonListener()); myText=(TextView)findViewById(R.id.myText); } class setButtonListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub showDialog(DATE_PICKER_ID); }
} DatePickerDialog.OnDateSetListener onDateSetListener=new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub /* * 这里通过蔡勒公式算出某一天是星期几 */ int y=year-1; int m=monthOfYear; int c=20; int d=dayOfMonth+12; int w=(y+(y/4)+(c/4)-2*c+(26*(m+1)/10)+d-1)%7; String myWeek = null; switch(w) { case 0: myWeek="日"; break; case 1: myWeek="一"; break; case 2: myWeek="二"; break; case 3: myWeek="三"; break; case 4: myWeek="四"; break; case 5: myWeek="五"; break; case 6: myWeek="六"; break; default: break; } myText.setText(year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日"+"周"+myWeek); }
}; @Override protected Dialog onCreateDialog(int id) { // TODO Auto-generated method stub switch(id) { case DATE_PICKER_ID: //通过Calendar中的方法得到当前系统的日期 return new DatePickerDialog(this,onDateSetListener ,Calendar.getInstance().get(Calendar.YEAR) ,Calendar.getInstance().get(Calendar.MONTH) ,Calendar.getInstance().get(Calendar.DAY_OF_MONTH)); } return super.onCreateDialog(id); }