Android:如何在触摸外部时关闭DatePicker DialogFragment?

问题描述 投票:0回答:1

我有一个有效的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);
   ... 
   }

我在这里想念什么?

android android-dialogfragment android-datepicker
1个回答
0
投票

您是否尝试将对话框设置为可取消

picker.setCancelable(true);
© www.soinside.com 2019 - 2024. All rights reserved.