单击按钮时不显示DatePickerDialog

时间:2014-04-29 05:54:39

标签: android datepickerdialog

以下Button是片段的一部分

butndob.setOnClickListener(new View.OnClickListener() {

            @SuppressLint("NewApi")
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                    DatePickerDialog.OnDateSetListener mDateSetListen =  new DatePickerDialog.OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear,
                            int dayOfMonth) {
                        dob.setText(dayOfMonth + "/"+monthOfYear+"/"+year);  
               //dob is edittext on which date picked will be displayed         
                    }
                };

我认为上面的代码不完整,无法显示选择日期的对话框,应该怎样做以使DatePickerDialog出现在屏幕上。

我不想在我的布局中使用DatePicker我使用了butndob,其点击将显示DatePickerDialog

2 个答案:

答案 0 :(得分:0)

使用

   static final int ID_DATEPICKER = 0;

      @Override
           public void onClick(View v) {
            // TODO Auto-generated method stub

            showDialog(ID_DATEPICKER);
           }

答案 1 :(得分:0)

Deepti使用此代码

dateBtn.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            new DatePickerDialog(CurrentClass.this, d, myCalendar.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),myCalendar.get(Calendar.DAY_OF_MONTH)).show();


        }
    });

DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {

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

        monthOfYear = monthOfYear+1;

        String date="";
        String month="";
        if(dayOfMonth<10)
        {
            date="0"+dayOfMonth;
        }
        else{

            date=""+dayOfMonth;
        }

        if(monthOfYear<10)
        {
            month="0"+monthOfYear;

        }
        else
        {
            month=""+monthOfYear;
        }


        String  DateNow= ""+date+"/"+month+"/"+year;

            dob.setText(DateNow);


    }
};