Android 日期控件只显示年月

21 篇文章 0 订阅

效果图:


代码:

——XML——
  <EditText
            android:id="@+id/sssx_bbdy_cx_sbrq"
            android:layout_width="match_parent"
            android:layout_height="38dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="10dp"
            android:layout_toLeftOf="@+id/sssx_bbdy_cx_btn"
            android:background="@drawable/ed_biankuang_yuanjiao"
            android:digits="0123456789"
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:hint="点击选择日期"
            android:paddingLeft="15dp"
            android:textColor="#3f3f3f"
            android:textSize="15sp" />

——java——
dy_sbrq = (EditText) findViewById(R.id.sssx_bbdy_cx_sbrq);
		dy_sbrq.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				showDialog(0);
			}
		});

protected Dialog onCreateDialog(int id) {
		Calendar dateAndTime = Calendar.getInstance(Locale.CHINA);
		mYear = dateAndTime.get(Calendar.YEAR);
		mMonth = dateAndTime.get(Calendar.MONTH);
		mDay = dateAndTime.get(Calendar.DAY_OF_MONTH);
		switch (id) {
		case 0:
			return new MonPickerDialog(this, mDateSetListener, mYear, mMonth,
					mDay);
		}
		return null;
	}

private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {


		@Override
		public void onDateSet(DatePicker view, int year, int monthOfYear,
				int dayOfMonth) {
			mYear = year;
			String mm;
			String dd;
			if (monthOfYear <= 9) {
				mMonth = monthOfYear + 1;
				mm = "0" + mMonth;
			} else {
				mMonth = monthOfYear + 1;
				mm = String.valueOf(mMonth);
			}
			if (dayOfMonth <= 9) {
				mDay = dayOfMonth;
				dd = "0" + mDay;
			} else {
				mDay = dayOfMonth;
				dd = String.valueOf(mDay);
			}
			mDay = dayOfMonth;
			dy_sbrq.setText(String.valueOf(mYear) + mm);
		}
	};

———MonPickerDialog.java———
public class MonPickerDialog extends DatePickerDialog {
	@SuppressLint("NewApi")
	public MonPickerDialog(Context context, OnDateSetListener callBack,
			int year, int monthOfYear, int dayOfMonth) {
		super(context, callBack, year, monthOfYear, dayOfMonth);
		this.setTitle(year + "年" + (monthOfYear + 1) + "月");


		((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0))
				.getChildAt(0)).getChildAt(2).setVisibility(View.GONE);


	}


	@Override
	public void onDateChanged(DatePicker view, int year, int month, int day) {
		super.onDateChanged(view, year, month, day);
		this.setTitle(year + "年" + (month + 1) + "月");
	}


}



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值