日期选择(年月日,年月)

1.年月日的日期选择(使用DatePickerDialog)

(1)private Calendar mycalendar;

private int year, month, day;

mycalendar = Calendar.getInstance();

year = mycalendar.get(Calendar.YEAR); //获取Calendar对象中的年

month = mycalendar.get(Calendar.MONTH);//获取Calendar对象中的月

day = mycalendar.get(Calendar.DAY_OF_MONTH);//获取这个月的第几天

(2)DatePickerDialog dpd = new DatePickerDialog(mContext, Datelistener, year, month, day);

dpd.show();

(3)private DatePickerDialog.OnDateSetListener Datelistener = new DatePickerDialog.OnDateSetListener() {

/**params:view:该事件关联的组件

* params:myyear:当前选择的年

* params:monthOfYear:当前选择的月

* params:dayOfMonth:当前选择的日

*/

@Override

public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

}

};


2.年月的日期选择(还是使用DatePickerDialog,隐藏日,只显示年月)

在onDateChanged中设置选择器的标题,获取到选择的年月。

//int yy日期选择条要展示的年,int mm要展示的月(即展开日期选择器时,上面展示的被选中的年月)

private void showDatePickerDia(final int yy,final int mm) {

final Calendar calendar = Calendar.getInstance();

int dd = 1;

DatePickerDialog dlg = new DatePickerDialog(new ContextThemeWrapper(getActivity(),

android.R.style.Theme_Holo_Light_Dialog_NoActionBar), null, yy, mm-1, dd) {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

LinearLayout mSpinners = (LinearLayout) findViewById(getContext().getResources().getIdentifier("android:id/pickers", null, null));

if (mSpinners != null) {

NumberPicker mMonthSpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/month", null, null));

NumberPicker mYearSpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/year", null, null));

mSpinners.removeAllViews();

if (mMonthSpinner != null) {

mSpinners.addView(mMonthSpinner);

}

if (mYearSpinner != null) {

mSpinners.addView(mYearSpinner);

}

}

//隐藏日

View dayPickerView = findViewById(getContext().getResources().getIdentifier("android:id/day", null, null));

if (dayPickerView != null) {

dayPickerView.setVisibility(View.GONE);

}

}

@Override

public void onDateChanged(DatePicker view, int year, int month, int day) {

super.onDateChanged(view, year, month, day);

//设置日期选择器的标题

setTitle(resources.getString(R.string.date_title_selecy_yearmonth));

Logger.print(TAG,"---->year:"+year+"  month:"+month+"  day:"+day);

setDate(year,month,1);//处理事件,setDate方法可以随便自己定义

}

};

dlg.setTitle(resources.getString(R.string.date_title_selecy_yearmonth));

dlg.show();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值