已添加片段:DateDialog

2023-11-23

我已经让我的editText可点击。点击后会显示DatePicker dialog.

 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.information);
 date = (EditText) findViewById(R.id.date);
 dialog=new DateDialog();
 date.setOnClickListener(this);

        public void onClick(View arg0) {
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        dialog.show(ft, "DatePicker");
        }

 public static class DateDialog extends android.app.DialogFragment implements DatePickerDialog.OnDateSetListener {
        public DateDialog() {}

         public Dialog onCreateDialog(Bundle savedInstanceState)
        {
            final Calendar c=Calendar.getInstance();
            int year=c.get(Calendar.YEAR);
            int month=c.get(Calendar.MONTH);
            int day=c.get(Calendar.DAY_OF_MONTH);
            return new DatePickerDialog(getActivity(),this,year,month,day);
        }

        public void onDateSet(DatePicker view,int year, int month, int day)
        {
            String date1=day+"-"+(month+1)+"-"+year;
            date.setText(date1);
            date2= date.getText().toString();
            return ;
         }
    }

如果我不小心双击editText,应用程序崩溃并显示Fragment already added错误如下。

11-26 10:16:04.745    2348-2348/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.project.myapplication, PID: 2348
    java.lang.IllegalStateException: Fragment already added: DateDialog{d1ca446 #0 DatePicker}
            at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1219)
            at android.app.BackStackRecord.run(BackStackRecord.java:715)
            at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)
            at android.app.FragmentManagerImpl$1.run(FragmentManager.java:482)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:148)
            at android.app.ActivityThread.main(ActivityThread.java:5417)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

有谁知道如何解决这一问题 ?谢谢


应用程序崩溃并显示片段已添加错误,如下所示

因为打电话给show方法。检查对话框是否显示,如果显示则丢弃单击事件,否则显示对话框:

Dialog dialogFrg=dialog.getDialog();
if(dialogFrg!=null && dialogFrg.isShowing()) {
   // no need to call dialog.show(ft, "DatePicker");
} else {
   // call dialog.show(ft, "DatePicker");
}

或者使用也可以使用boolean标志就像一个开关,通过设置标志来检查对话框是否显示true/false.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

已添加片段:DateDialog 的相关文章

随机推荐

  • 使用 Mongodb ObjectID 作为文档 ID?

    我正在尝试用 mongoDB 制作一个板 我想用 ObjectID 分配文档 ID 如果用户可以通过以下方式访问文档页面http www example com 4easdf123123其中 4easdf123123 是 mongoDB O
  • 通过线程工作时出现错误“解释器关闭后无法安排新的 future”

    我有一个大问题 三天内我自己都无法解决 我们有一个应用程序 可以创建 Json 文件并通过 Boto3 库将它们发送到 Amazon S3 服务器 该应用程序是在 Python 3 8 上开发的 没有任何问题 然后Python升级到3 9
  • C 中的算法 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 学习 C 算法的最佳地点或
  • 如何减少 Android xml 布局中文本周围的填充?

    我有 1 英寸高的文本 但视图框占用 1 5 英寸 因此白色字体上方和下方有 1 4 英寸的黑色空间 我想减少 1 4 英寸 这样我就可以在 6 英寸屏幕上显示 5 行文本 而不是 4 行 我可以使用 android lineSpacing
  • 如何给 html 按钮标签添加图像

    我想知道是否有办法给出 HTML 按钮标签
  • 如何控制 Pelican 文章类别中的页面顺序?

    我正在使用 pelican jinja2 模板来生成基于类别的导航菜单 我需要一种方法来控制页面的顺序 或者至少需要一个技巧来允许我选择要列出的第一个页面 for a in articles if a category category l
  • 使用注释生成 equals / hashcode / toString

    我相信我在某处读到人们在编译时 使用 APT 通过确定哪些字段应该是哈希 相等测试的一部分来生成 equals hashcode toString 方法 我在网上找不到类似的东西 我可能梦见过它 可以这样做 public class Per
  • Or 与 OrElse

    有什么区别or and OrElse if temp is dbnull value or temp 0 产生错误 未为类型 DBNull 和类型 Integer 定义运算符 而这个就像一个魅力 if temp is dbnull valu
  • Expect 中的正则表达式

    我刚刚开始学习期望脚本 我一直在尝试从输出中提取以下内容 core 4046140998 01 10 133211 使用以下命令使用期望脚本 有人可以告诉我哪里出了问题吗 我想将整个字符串 即 core 4046140998 01 10 1
  • spring boot https PKCS12 DerInputStream.getLength(): lengthTag=111,太大

    我需要在 https 上使用 Spring boot 应用程序 我有一个 LetsEncrypt 签名的密钥 我将此证书转换为 PKCS12 如下所示 openssl pkcs12 export in fullchain pem inkey
  • 为什么 PL/SQL 中不允许静态 ddl?

    在 Oracle PL SQL 块中 为什么允许动态 sql begin execute immediate drop table table name end 但静态不是吗 begin drop table table name end
  • pyspark,比较数据框中的两行

    我试图将数据帧中的一行与下一行进行比较 以查看时间戳的差异 目前数据如下 itemid eventid timestamp 134 30 2016 07 02 12 01 40 134 32 2016 07 02 12 21 23 125
  • 在没有框架的情况下路由 REST 请求?

    我一直在阅读这篇文章来学习如何构建 REST API http www gen x design com archives create a rest api with php 有一次它说 假设您已将请求路由到用户的正确控制器 如果没有框架
  • 在张量流中使用 SSIM 损失函数处理 RGB 图像

    我想用SSIM指标作为我正在研究的模型的损失函数张量流 SSIM 应该测量去噪自动编码器的重构输出图像与输入未损坏图像之间的相似度 RGB 据我了解 为了在张量流中使用 SSIM 指标 图像应该是归一化为 0 1 或 0 255 而不是 1
  • 在 C++11 及以上版本中如何检查线程是否完成工作?

    如何在 C 11 及更高版本中检查线程是否已完成工作 我一直在阅读文档并编写了以下代码 include
  • phpMyAdmin - 波浪号 (~) 在行列中意味着什么?

    我最近升级了 Joomla 从 1 5 到 1 7 的安装 带有大量文章数据集 而升级方法是升级数据库 基本上将内容插入到另一个表中 我注意到Rows列值以波形符 为前缀 现在 乍一看 我认为这意味着该值是近似值 因为当我刷新页面时 我看到
  • java中如何从系统字体中获取ttf字体数据

    我的系统上安装了一些 ttf 字体 我使用得到该列表 GraphicsEnvironment getLocalGraphicsEnvironment getAvailableFontFamilyNames 这不仅是 ttf 字体 而且是我猜
  • 如何在 Angular2 中实现可折叠侧边栏?

    我正在学习 angular2 并希望实现一个可折叠的侧边栏 类似于https almsaeedstudio com themes AdminLTE index2 html 在 Angular 2 中 我尝试查找示例 但找不到任何示例 您能提
  • PHP/PostgreSQL:检查准备好的语句是否已存在

    我将准备好的声明创建为 pg prepare stm name SELECT 今天 我在两次声明同名的准备好的语句时遇到了问题 错误地调用了两次函数 Warning pg prepare function pg prepare Query
  • 已添加片段:DateDialog

    我已经让我的editText可点击 点击后会显示DatePicker dialog public void onCreate Bundle savedInstanceState super onCreate savedInstanceSta