设置日期控件DatePickerDialog的用法

package com.example.edittextfocus;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.text.InputType;
import android.view.Menu;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;

public class MainActivity extends Activity {
	private EditText eText, eText2;
	private Button btnShowButton;
	String dateSet;
	Calendar calendar;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initView();
		// 点击输入框弹出日期选择对话框
		eText.setOnFocusChangeListener(new OnFocusChangeListener() {

			@Override
			public void onFocusChange(View v, boolean hasFocus) {
				// 弹出设置时间对话框,默认当前日期
				//
				if (hasFocus) {
					DatePickerDialog datePickerDialog = new DatePickerDialog(
							MainActivity.this, DateSet, calendar
									.get(Calendar.YEAR), calendar
									.get(Calendar.MONTH), calendar
									.get(Calendar.DAY_OF_MONTH));
					datePickerDialog.show();

				}

			}

		});
		eText2.setOnFocusChangeListener(new OnFocusChangeListener() {

			@Override
			public void onFocusChange(View v, boolean hasFocus) {
				if (hasFocus) {
					DatePickerDialog datePickerDialog = new DatePickerDialog(
							MainActivity.this, DateSet, calendar
									.get(Calendar.YEAR), calendar
									.get(Calendar.MONTH), calendar
									.get(Calendar.DAY_OF_MONTH));
					datePickerDialog.show();

				}

			}
		});
	}

	private void initView() {
		// 设置btn为默认焦点
		btnShowButton = (Button) findViewById(R.id.btn_show);
		btnShowButton.setFocusable(true);
		btnShowButton.requestFocus();
		btnShowButton.setFocusableInTouchMode(true);

		eText = (EditText) findViewById(R.id.et_show);
		eText2 = (EditText) findViewById(R.id.et_show2);
		// 禁止弹出软键盘
		eText.setInputType(InputType.TYPE_NULL);
		eText2.setInputType(InputType.TYPE_NULL);
		// 设置当前日期
		calendar = Calendar.getInstance();
	}

	/**
	 * @description 日期设置匿名类
	 */
	DatePickerDialog.OnDateSetListener DateSet = new DatePickerDialog.OnDateSetListener() {

		@Override
		public void onDateSet(DatePicker view, int year, int monthOfYear,
				int dayOfMonth) {
			// 每次保存设置的日期
			calendar.set(Calendar.YEAR, year);
			calendar.set(Calendar.MONTH, monthOfYear);
			calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);

			String str = year + "-" + (monthOfYear + 1) + "-" + dayOfMonth;
			System.out.println("set is " + str);

			if (eText.isFocused()) {
				eText.setText(str);

			}
			if (eText2.isFocused()) {
				eText2.setText(str);
			}
		}
	};

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值