当前位置: 首页 > 知识库问答 >
问题:

无法创建日期选择器对话框

上官砚文
2023-03-14

我在活动中使用了一个类来创建日期选择器对话框,它一直在工作,直到我迁移到android studio。以下是课程:

class StartDatePicker extends DialogFragment implements DatePickerDialog.OnDateSetListener{
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // year, month, day από το onCreate
        DatePickerDialog dialog = new DatePickerDialog(Add_Expense.this, this, year, month, day);
        //DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth);
        return dialog;

    }
    @Override
    public void onDateSet(DatePicker view, int year, int month,``
            int day) {
        processDate(year, month, day);

    }
    private void processDate(int year, int month, int day) {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR, year);
        cal.set(Calendar.MONTH, month);
        cal.set(Calendar.DAY_OF_MONTH, day);
        int day_ofWeeks = cal.get(Calendar.DAY_OF_WEEK);
        showDate(year, month, day, day_ofWeeks);
    }
}


        public void showDatePickerDialog(View v) {
    DialogFragment newFragment = new StartDatePicker();
    newFragment.show(getFragmentManager(), "start_date_picker");
}

类StartDatePicker现在引发了一个错误:这个片段类应该是公共的。在我将其声明为public之后,它引发了另一个错误:这个片段内部类应该是静态的。我不想将其声明为静态的,因为私有void showDate(int year,int month,int day,int day\ofWeek)将不起作用。

提前谢谢你。

共有1个答案

周和安
2023-03-14

可能有一种更干净的方法可以做到这一点,但如果您将StartDatePick设置为公共和静态,那么您可以这样做:

在StartDatePicker中创建一个字段来保存对外部类的引用

OuterClassType  mDateShower;

并为该字段创建setter。

public void setDateShower(OuterClassType dateShower) {
    mDateShower = dateShower;
}

然后将调用show Date(...);替换为mDateShower.showDate(...);

最后设置日期淋浴

public void showDatePickerDialog(View v) {
    DialogFragment newFragment = new StartDatePicker();
    newFragment.setDateShower(this);
    newFragment.show(getFragmentManager(), "start_date_picker");
}
 类似资料:
  • 我试图在Android中创建一个日期对象,从日期选择器和时间选择器。我知道如何单独进行,但当我想使用日期选择器和时间选择器创建单个日期对象时 我试过这个 但是没有运气,因为它已被弃用。有人能给我指出一个资源吗?

  • 我已经记录了用于从日期选择器中选择日期的selenium代码。在运行测试用例时,日期选择器会弹出并正确突出显示所选日期。但是没有选择日期。代码如下所示:- 此异常仅出现在记录的代码中。我使用的是selenium-server-standalone-2 . 45 . 0 jar。

  • HTML与它的外观截图一起粘贴,如下所示。 HTML: 我曾经试过 甚至试图等待命令以使定位器被找到但没有成功。 WebDriverWait(驱动程序,100)。直到(预期条件.element可禁用)(By.css选择器 两者都不起作用,因为它无法识别元素。有人能帮我吗。如果可能,我们甚至可以单击“上一个”和“下一个”,以便我们也可以单击一些以前的日期吗?

  • 我正在尝试实现日期选择器对话框,但该对话框显示只有一个日期,并显示日期的其余部分为空白,这可能是什么原因?

  • 我无法从日历中选择数据,因为它没有可选择的id。 下面是我的HTML代码, 我试过的代码是 但无法选择日期 申请的网址: http://demo.guru99.com/V4/ 用户名: mgr123密码: mgr!23 单击左侧窗格中的新帐户,选择上面讨论的所需页面。 有人能帮忙选择日期吗?

  • 我想把日期的限制,以便用户不能选择更多的日期,例如,如果今天是1月1日,那么用户不应该能够选择超过7个日期,我的意思是他不能选择1月9日。我也希望他不要选择月份和年份。所以我限制他在一周内完成任务。 到目前为止,我所做的是显示日期选择器片段并在其中设置当前日期。我的主活动中的代码如下所示: 日期选择器片段类如下所示: 它将当前日期设置为最大日期,但我如何添加7天前,因为它是日期对象?请帮忙