天天看点

android 点击文本框弹出日期对话框

package sys.act;

import java.util.Calendar;

import java.util.Date;

import android.app.Activity;

import android.app.DatePickerDialog;

import android.app.DatePickerDialog.OnDateSetListener;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.View.OnFocusChangeListener;

import android.widget.DatePicker;

import android.widget.EditText;

import android.widget.LinearLayout;

public class Test extends Activity {

 public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  LinearLayout line = new LinearLayout(this);

  final EditText et = new EditText(this);

  final Calendar cd = Calendar.getInstance();

  Date date = new Date();

  cd.setTime(date);

  et.setOnClickListener(new OnClickListener(){

   public void onClick(View v) {

     new DatePickerDialog(Test.this, new OnDateSetListener(){

      public void onDateSet(DatePicker view, int year,

        int monthOfYear, int dayOfMonth) {

       et.setText(year+"-"+monthOfYear+"-"+dayOfMonth);

      }

      },

      cd.get(Calendar.YEAR),

      cd.get(Calendar.MONTH),

      cd.get(Calendar.DAY_OF_MONTH)).show();

   }

  });

  et.setOnFocusChangeListener(new OnFocusChangeListener(){

   public void onFocusChange(View v, boolean hasFocus) {

     new DatePickerDialog(Test.this, new OnDateSetListener(){

      public void onDateSet(DatePicker view, int year,

        int monthOfYear, int dayOfMonth) {

       et.setText(year+"-"+monthOfYear+"-"+dayOfMonth);

      }

      },

      cd.get(Calendar.YEAR),

      cd.get(Calendar.MONTH),

      cd.get(Calendar.DAY_OF_MONTH)).show();

   }

  });

  line.addView(et);

  this.setContentView(line);

 }

}