我有一个有效的DatePickerFragment,它扩展了DialogFragment。我在onCreateDialog()中设置了DatePickerDialog,然后尝试添加:
“ picker.setCanceledOnTouchOutside(true);”
我正在使用Android 8.0 Oreo的设备上进行测试,并且在DatePicker对话框外部进行触摸时什么也不会发生。我正在使用androidx.appcompat.app.AppCompatActivity作为我的BaseActivity和DialogFragment的androidx.fragment.app.DialogFragment;
代码:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceState);
DatePickerDialog picker = new DatePickerDialog(getActivity(),this,year,month,day);
**picker.setCanceledOnTouchOutside(true);**
return picker;
我也没有运气尝试过:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
getDialog().setCanceledOnTouchOutside(true);
...
}
我在这里想念什么?
您是否尝试将对话框设置为可取消
picker.setCancelable(true);