我在我的应用程序中有一个活动,我希望用户从DateDicker中选择日期,它包含在AlertDialog中。在AlertDialog中,我已经将一个视图设置为一个xml布局文件(仅包含一个LinearLayout,带有一个DatePicker)。Android Studio - AlertDialog中的DatePicker,空对象引用
代码非常简单,看起来像这样,只是在onCreate()之下。
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setView(R.layout.activity_alertdialog_date);
DatePicker datePicker = (DatePicker) findViewById(R.id.Activity_AlertDialog_SetStartDate);
// ... The rest of the AlertDialog, with buttons and all that stuff
alert.create().show()
布局显示了在AlertDialog,而该部分的伟大工程。 然而,当我尝试添加这条线,我得到一个空对象引用错误。
datePicker.setMinDate(System.currentTimeMillis() - 1000);
以下是错误消息
试图调用虚拟方法无效 android.widget.DatePicker.setMinDate(长)“对空对象引用
我怎样才能解决这个问题,或者改善我的代码以另一种方式? 我真的很感谢所有我能得到的帮助。谢谢!
哪里你想使用这行'datePicker.setMinDate(System.currentTimeMillis() - 1000);'? 'datePicker'在范围内吗? – DigitalNinja
这是非常接近的行。这是我在onCreate()的最后调用的方法。所以我在setContentView(...) – Fred
的旁边调用方法:可以链接AlertDialog.Builder调用,即AlertDialog.Builder(this).setView(R.layout.my_layout) .setButtonPositive(R.string.sweet_text).create()。show()'使您的代码更具可读性。 – emerssso