From fba844dd98c3d9dde3a522cacfb5cff24f0a3943 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期六, 01 四月 2017 14:16:59 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/BirthdayPickerDialog.java | 93 +++++++++++----------------------------------- 1 files changed, 22 insertions(+), 71 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/BirthdayPickerDialog.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/BirthdayPickerDialog.java index c1f3a57..396045b 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/BirthdayPickerDialog.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/BirthdayPickerDialog.java @@ -1,7 +1,6 @@ package cn.com.basic.face.dialog; import android.app.AlertDialog; -import android.app.DatePickerDialog; import android.content.Context; import android.graphics.Color; import android.os.Bundle; @@ -11,32 +10,24 @@ import android.widget.DatePicker; import com.bsk.zhangbo.demoforbsk.R; +import com.lidroid.xutils.ViewUtils; +import com.lidroid.xutils.view.annotation.event.OnClick; import java.util.Calendar; import java.util.Date; import java.util.Locale; -/** - * Created by Sinoe on 2017/2/28. - */ +import cn.com.basic.face.base.MainActivity; +import cn.com.basic.face.util.OkClickedListener; public class BirthdayPickerDialog extends AlertDialog implements DatePicker.OnDateChangedListener{ - - - private static final String YEAR = "year"; - private static final String MONTH = "month"; - private static final String DAY = "day"; - private final DatePicker mDatePicker; - private final OnDateSetListener mDateSetListener; + private final OkClickedListener mDateSetListener; private final Calendar mCalendar; - - private boolean mTitleNeedsUpdate = true; - private View view; - public BirthdayPickerDialog(Context context, int theme, OnDateSetListener listener, Date date) { - super(context,theme); + public BirthdayPickerDialog(OkClickedListener listener, Date date) { + super(MainActivity.getInstance(), android.R.style.Theme_Holo_Light_Dialog_NoActionBar); mDateSetListener = listener; mCalendar = Calendar.getInstance(Locale.CHINA); mCalendar.setTime(date); @@ -44,19 +35,13 @@ LayoutInflater inflater = LayoutInflater.from(themeContext); view = inflater.inflate(R.layout.dialog_date_picker, null); view.setBackgroundColor(Color.WHITE); - //setView(view); - -// setButton(BUTTON_POSITIVE, themeContext.getString(R.string.ok), this); -// setButton(BUTTON_NEGATIVE, themeContext.getString(R.string.cancel), this); -// setButtonPanelLayoutHint(LAYOUT_HINT_SIDE); - + ViewUtils.inject(this, view); mDatePicker = (DatePicker) view.findViewById(R.id.datePicker); mDatePicker.init(mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH), this); - // mDatePicker.setValidationCallback(mValidationCallback); - //瀹炵幇鑷繁鐨勬爣棰樺拰ok鎸夐挳 - //setTitle("閫夋嫨鏃ユ湡:"); - setButton(); + + show(); + setContentView(view); } @Override @@ -64,59 +49,25 @@ mDatePicker.init(year, month, day, this); } - - /** - * The callback used to indicate the user is done filling in the date. - */ public interface OnDateSetListener { - - /** - * @param view The view associated with this listener. - * @param year The year that was set. - * @param monthOfYear The month that was set (0-11) for compatibility - * with {@link java.util.Calendar}. - * @param dayOfMonth The day of the month that was set. - */ void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth); } - private void setButton() { - //鑾峰彇鑷繁瀹氫箟鐨勫搷搴旀寜閽苟璁剧疆鐩戝惉锛岀洿鎺ヨ皟鐢ㄦ瀯閫犳椂浼犺繘鏉ョ殑CallBack鎺ュ彛锛堜负浜嗙渷鍔诧紝娌℃湁鑷繁鍐欐帴鍙o紝鐩存帴鐢ㄤ箣鍓嶆湰绫诲畾涔夊ソ鐨勶級鍚屾椂鍏抽棴瀵硅瘽妗嗐�� - view.findViewById(R.id.date_picker_ok).setOnClickListener( - new View.OnClickListener() { - @Override - public void onClick(View v) { - if (mDateSetListener != null) { - // Clearing focus forces the dialog to commit any pending - // changes, e.g. typed text in a NumberPicker. - mDatePicker.clearFocus(); - mDateSetListener.onDateSet(mDatePicker, mDatePicker.getYear(), - mDatePicker.getMonth(), mDatePicker.getDayOfMonth()); - cancel(); - } - } - }); - view.findViewById(R.id.date_picker_cancle).setOnClickListener( - new View.OnClickListener() { - @Override - public void onClick(View v) { - cancel(); - } - }); + @OnClick(R.id.date_picker_ok) + public void date_picker_ok_click(View view) { + if (mDateSetListener != null) { + mDatePicker.clearFocus(); + mDateSetListener.onSelected(mDatePicker.getYear()+"-"+ + mDatePicker.getMonth()+"-"+mDatePicker.getDayOfMonth()); + cancel(); + } } - public void myShow() { - //鑷繁瀹炵幇show鏂规硶锛屼富瑕佹槸涓轰簡鎶妔etContentView鏂规硶鏀惧埌show鏂规硶鍚庨潰锛屽惁鍒欎細鎶ラ敊銆� - show(); - setContentView(view); - } - @NonNull - @Override - public Bundle onSaveInstanceState() { - return super.onSaveInstanceState(); + @OnClick(R.id.date_picker_cancel) + public void date_picker_cancel_click(View view) { + cancel(); } - @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); } -- Gitblit v1.8.0