【问题标题】:Trying to open date picker dialog when edittext is clicked but its showing an error单击edittext时尝试打开日期选择器对话框但显示错误
【发布时间】:2020-03-01 17:33:44
【问题描述】:

下面附上我的代码截图

我试图在单击编辑文本时打开日期选择器。但它在 datepickerdialog 函数的前两个参数中显示错误。

参数 1(上下文):预期: android.content.Context 实际:这个

参数 2(监听器):预期: android...OnDateSetListener 实际:这个

我附上了我上面代码的截图^

请,谢谢!

【问题讨论】:

  • 你好 Nitin,请将源代码发布为文本而不是图像。

标签: android android-studio datepickerdialog


【解决方案1】:

这是一个不同的 context,这意味着您在匿名点击侦听器类中使用此函数,并且当您传递 this 时,它将采用该上下文而不是您的情况下的父类或活动类。只需进行如下小改动:

DatePickerDialog dialog = new DatePickerDialog(MainActivity.this, MainActivity.this, mYear, mMonth, mDay);
datePickerDialog.show();

简而言之,如果您说this,那么它将传递当前上下文,在您的情况下是单击侦听器上下文,而对话框需要一个活动上下文,因此请改用MainActivity.this 指向主要活动上下文。在 Kotlin 中,这个上下文将被称为 this@MainActivity

【讨论】:

  • 很好,我只是把事情搞混了@ljk
  • 当我意识到它不仅仅是 kotlin 而是 java 和 kotlin 的组合时,我删除了评论,哈哈。很高兴你修复了它。
  • 谢谢 vikas。这很有帮助! :)
  • 只需将其标记为答案,如果有帮助,请点赞,以便其他人也可以从中获得帮助,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-19
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
相关资源
最近更新 更多