当前位置: 首页 > 知识库问答 >
问题:

Android:当接触外部时,如何删除DatePicker DialogFragment?

罗宪
2023-03-14
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    super.onCreateDialog(savedInstanceState);

    DatePickerDialog picker = new DatePickerDialog(getActivity(),this,year,month,day);
    **picker.setCanceledOnTouchOutside(true);**
    return picker;
DatePickerFragment newFragment = new DatePickerFragment();
// tried the below also, with no luck
**newFragment.setCancelable(true);**
newFragment.show(getSupportFragmentManager(), "datePicker");
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
   ...
   getDialog().setCanceledOnTouchOutside(true);
   ... 
   }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    if (getDialog() != null) {
        getDialog().setCanceledOnTouchOutside(true);
    }
    return super.onCreateView(inflater, container, savedInstanceState);
}    

我引用了这篇文章来寻找可能的答案:当在对话框外按下时,如何删除DialogFragment?。我在这里漏掉了什么?

共有1个答案

司空皓
2023-03-14

如果要删除扩展DialogFragment的对话框,请写入

setCancelable(真);

在OnCreateView内部。当你接触外面时,对话框将被取消。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     setCancelable(true);
     return super.onCreateView(inflater, container, savedInstanceState);
}
 类似资料:
  • 下拉框使用CSS和超文本标记语言/JS设计,使用从JS添加的名为“is-open”的类。一旦出现在指定的超文本标记语言div中,它将激活CSS来显示子菜单。 然而,有一个小问题,即一旦单击下拉框将不会消失,除非单击相同的菜单项。(当单击菜单内容div之外时,类不会取消切换) 作为一项基本功能,一旦用户不仅单击菜单,而且单击页面上的任何位置,该菜单都需要消失。 我目前的javascript如下所示:

  • 创建帖子时,我的用户会提供一个外部链接。如果删除了外部链接,本地帖子也应该删除。为了实现这一点,我尝试运行以下代码... ...但是我得到了这些错误... 警告:get_headers(): php_network_getaddresses: getaddrinfo failed: name or service in /home/cornwal2/public_html/listings/wp-

  • 我有一个用于用户配置文件图像的模型,当我删除具有默认图像的用户时,默认图像也会被删除。我相信这是必须的,因为我设置了on_delete=models.CASCADE。 我尝试在ImageField中启用_delete=PROTECT,但它无法识别该属性。

  • 为什么我需要这个功能?我正在建立一个应用程序,在这个应用程序,有3下拉菜单,5下拉列表(喜欢选择)。所有这些都是角指令。让我们假设所有这些指令都是不同的。所以我们有8个指令。它们都需要一个相同的功能:当点击元素的侧面时,需要隐藏下拉菜单。 我有两个解决方案,但都有问题: 解决方案A: 解决方案B在我的应用程序中工作,我现在正在使用。但问题是它会导致性能问题。太多的点击事件处理每一个单一的点击在应用

  • 我在SwiftUI中有一个InsertGroupedListStyle列表,并注意到iOS 15中添加了额外的顶部填充。如何控制或删除此项? 以下是iOS 14: iOS15:

  • 我正在使用jsplumb,但是我无法删除两个只有一个div的id的div之间的连接。