package cn.com.basic.face.dialog; import android.app.AlertDialog; import android.content.res.Resources; import android.graphics.Color; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.DatePicker; import android.widget.EditText; import com.bsk.zhangbo.demoforbsk.R; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.util.DatePickerUtil; import cn.com.basic.face.util.OkClickedListener; public class DateSelectDialog extends AlertDialog implements DatePicker.OnDateChangedListener{ @ViewInject(R.id.dialog_date_select_date_picker) private DatePicker dialog_date_select_date_picker; private OkClickedListener okClickedListener; private View view; public DateSelectDialog(OkClickedListener listener, Date date) { super(MainActivity.getInstance(), android.R.style.Theme_Holo_Light_Dialog_NoActionBar); view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_date_select, null); view.setBackgroundColor(Color.WHITE); ViewUtils.inject(this, view); okClickedListener = listener; Calendar calendar = Calendar.getInstance(Locale.CHINA); calendar.setTime(date); dialog_date_select_date_picker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), this); //DatePickerUtil.setFont(MainActivity.getInstance(), dialog_date_select_date_picker); show(); setContentView(view); } @Override public void onDateChanged(DatePicker datePicker, int year, int month, int day) { dialog_date_select_date_picker.init(year, month, day, this); } public interface OnDateSetListener { void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth); } @OnClick(R.id.dialog_date_select_ok) public void dialog_date_select_ok_click(View view) { if (okClickedListener != null) { dialog_date_select_date_picker.clearFocus(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String yyyMMdd = dialog_date_select_date_picker.getYear()+"-"+ dialog_date_select_date_picker.getMonth()+"-"+ dialog_date_select_date_picker.getDayOfMonth(); try { okClickedListener.onSelected(sdf.format(sdf.parse(yyyMMdd))); } catch (Exception e) { okClickedListener.onSelected(dialog_date_select_date_picker.getYear()+"-"+ dialog_date_select_date_picker.getMonth()+"-"+ dialog_date_select_date_picker.getDayOfMonth()); } cancel(); } } @OnClick(R.id.dialog_date_select_cancel) public void dialog_date_select_cancel_click(View view) { cancel(); } public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); } }