【问题标题】:DatePickerDialog is not displayed on click of the button单击按钮时不显示 DatePickerDialog
【发布时间】:2014-04-29 05:54:39
【问题描述】:

以下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

【问题讨论】:

  • @user3110424 我没有在布局中使用日期选择器,它只是一个按钮,点击它甚至应该显示一个日期选择器对话框
  • 如果你浏览过上面的链接,你可以看到他是如何做到的。你可以看到完整的例子。关于showDialog 方法。它是一个android方法,当你调用showDialog实际上onCreateDialog方法被调用并且休息你可以在链接中看到如果你有任何问题你可以在这里问。
  • @Deepti Check this 可能对你有帮助

标签: android datepickerdialog


【解决方案1】:

使用

   static final int ID_DATEPICKER = 0;

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

            showDialog(ID_DATEPICKER);
           }

【讨论】:

【解决方案2】:

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);


    }
};

【讨论】:

  • 这段代码我觉得很有帮助,但有一个例外..我已经添加了上面的代码..请检查你是否可以。
猜你喜欢
  • 2017-02-16
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-07
  • 1970-01-01
相关资源
最近更新 更多