2017-08-08 197 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)