2017-08-08 153 views
1

我试图使用在Fragment一个DatePickerDialog并设置OnDateSetListener它,但是当我尝试使用setOnDateSetListener方法,我得到一个编译时像通话警告需要API等级24(当前分钟是16)。 有没有其他方法可以接收此回调? 我的应用程序的分SDK是16,最大为26向后兼容setOnDateSetListener

这里是我的代码:

DatePickerDialog.Builder builder = new DatePickerDialog.Builder(getContext()); 
builder.setTitle(R.string.pick_date); 
builder.setNegativeButton(R.string.cancel, null); 
builder.setPositiveButton(R.string.ok, this); 
DatePickerDialog dialogue = (DatePickerDialog) builder.create(); 
dialogue.setOnDateSetListener(this); // This is where I get the error 
dialogue.show(); 

回答

1

使用此构造函数DatePickerDialog在API层面加入

DatePickerDialog(@NonNull Context context, @Nullable OnDateSetListener listener, int year, int month, int dayOfMonth) 
1

DatePickerDialog(Context context)构造24

如果要使其向后兼容,请使用在API级别1中添加的this constructor

DatePickerDialog (Context context, 
       DatePickerDialog.OnDateSetListener listener, 
       int year, 
       int month, 
       int dayOfMonth)