OnDateSetListener() 没有被调用

2023-12-20

当我更改日期时,OnDateSetListener()没有被调用。甚至setMinDate(day);线路不工作。我认为由于某种原因DatePickerDialog尚未注册OnDateSetListener()。但无法弄清楚。我已将对话框和侦听器声明为全局的。

private DatePickerDialog datePicker;
private DatePickerDialog.OnDateSetListener dateListener;

Code :

// Create dialogs for datePicker
private void createDatePicker() {

    Calendar calendar = Calendar.getInstance(Locale.getDefault());
    int day = calendar.get(Calendar.DAY_OF_MONTH);
    int month = calendar.get(Calendar.MONTH);
    int year = calendar.get(Calendar.YEAR);

    datePicker = new DatePickerDialog(this, dateListener, year, month, day);
    datePicker.getDatePicker().setMinDate(day);

    dateListener = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            Log.d(TAG, "Date changed.");
        }
    };

}

private void setEditTextListeres() {
        myEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    Log.d(TAG, "EditText gained focus.");
                    datePicker.show();
                }
            }
        });
    }

知道为什么监听器没有被调用吗?为什么 setMinDate() 不起作用?


创建DatePickerDialog在你宣布听众之后,就像 Rapunzel 说的那样。

监听器将不起作用,因为dateListener创建时为空DatePickerDialog实例。这DatPickerDialog对象不会检测对侦听器所做的更改。

EDIT:

因为调用 DatePickerDialog() 时 dateListener 为 null。如果你看一下source http://goo.gl/P04hz在 DatePickerDialog 中,您将看到私有的最终 OnDateSetListener mCallback。这意味着它引用了 null。该引用变得不可变,因为它是最终的。 dateListener = new DatePickerDailog.OnDateSetListener 将在内存中的其他位置创建实例(由于 new 关键字),从而导致引用发生更改。 DatePickerDialog.mCallback 中的引用不会更改,因为它是不可变的。

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

OnDateSetListener() 没有被调用 的相关文章

  • 在 Android 中使用 awt

    我有一个绘制图表的 Java Swing 应用程序 它使用 Graphics2D 调用和 awt 对象 例如 Rectangle 等 在某些时候我可能想将其移植到 Android 上 我知道我无法在 Android 上使用 Graphics
  • 如何以编程方式判断蓝牙设备是否已连接?

    我了解如何获取已配对设备的列表 但如何判断它们是否已连接 这一定是可能的 因为我看到它们列在我手机的蓝牙设备列表中 并且它说明了它们的连接状态 将蓝牙权限添加到您的AndroidManifest中
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • 突出显示列表视图项目

    我需要在触摸列表视图项目时突出显示它并保持突出显示状态 我尝试了我发现的一切 但没有任何效果 这是我的代码 这是列表视图
  • Android 在 Windowmanager 中调整视图大小

    这是我的代码 menubuttonClosed li inflate R layout menu button null menubutton ImageButton menubuttonClosed findViewById R id m
  • 在 Android 中使用 AES 加密的最佳实践是什么?

    我为什么问这个问题 我知道人们对 AES 加密存在很多疑问 即使对于 Android 也是如此 如果您在网络上搜索 会发现很多代码片段 但在每个页面上 在每个 Stack Overflow 问题中 我都发现了另一个具有重大差异的实现 所以我
  • Android - 使用 SAX 解析器解析大文件

    我正在尝试使用 SAX 解析器解析来自 webservice 的 xml 数据 当我尝试使用 URL 解析数据 大小 7 4MB 时 它工作正常 但是当我从 URL 复制 xml 数据并放置 xml 文件时 size 7 4MB 在raw文
  • 何时调用 glMatrixMode()

    我所关注的大多数 Android OpenGL ES 教程都有其 onSurfaceChanged 函数 如下所示 public void onSurfaceChanged GL10 gl int width int height gl g
  • Android中如何使用intent加载本地html页面?

    我的 asset 目录中有一个 html 文件 我必须使用 Intent 将其加载为浏览器应用程序 这是我的代码 但它不起作用 startActivity new Intent Intent ACTION VIEW Uri parse fi
  • 本地管理的广播接收器泄漏?

    当应用程序被系统杀死时 本地 即使用 LocalBroadcastManager 管理 BroadcastReceiver 是否有可能泄漏 我需要它的具体用例是我想在活动的 onCreate onDestroy 中注册 注销 Broadca
  • 如何让surfaceview透明

    大家好 我想让我的 DrawingSurface 视图透明 我尝试了很多东西 但它不起作用 这是我的 xml 代码 使我的表面视图透明
  • 如何获取Android中的所有主屏幕?

    我是安卓开发新手 我知道每个主屏幕都是启动器中的一个工作区 我想获取屏幕上所有应用程序图标的所有位置信息 那么有没有办法获取这些屏幕对象及其图标信息的列表 ADD 我更期待的是应用程序图标和屏幕之间的关系 例如 我想要某个应用程序图标的位置
  • Android:选择 EditField 上焦点上的所有文本

    我试图让 Android 在获得焦点时选择 EditText 字段中的所有文本 我在布局中使用此属性 在两个字段上 android selectAllOnFocus true 我不确定这是否相关 但为了将光标移动到第一个可编辑字段 前面 还
  • JavaScript 点击事件在 Android 4.0.4 默认浏览器上的 Samsung Galaxy SIII 上不起作用

    我在 Android 4 0 4 上使用 Samsung Galaxy SIII 的默认浏览器时遇到了最奇怪的问题 对于以下页面 单击链接将不会触发 JavaScript 处理程序 从其中一个 div 的内容中删除单个 a 字母使它们再次工
  • 在 VideoView 开始播放之前,TextView 不会显示

    我编写了一个android应用程序 它有两个视图 TextView上方的VideoView 位于ScrollView内部 我遇到了一个问题 直到VideoView开始播放视频 TextView才显示 并且我有一个黑屏 这可能需要很长一段时间
  • FCM 主题是否适合更多用户?

    我对使用主题消息有点困惑 我的场景是根据通知触发一些作业 请帮助我更多地了解这一点 如果我们正在处理大量用户 则可以使用 FCM 主题向用户发送通知 我们可以只使用数据消息和主题消息吗 使用主题发送的消息是否保证送达 我在 FCM 文档中看
  • 在两个片段之间拖放视图

    我目前正在尝试在两个片段之间实现拖放 我已经将它们添加到我的活动中 如下所示 FragmentManager fm getFragmentManager FragmentTransaction ft fm beginTransaction
  • 如何从另一个活动更新 Recyclerview 数据

    我有两个活动 MainActivity 和 Addlogactivity 我正在更新 Addlogactivity 中的数据 该数据应显示在 mainactivity recyclerview 中 数据未在数据库中更新 MianActivi
  • 将主题应用到 v7 支持操作栏

    我正在使用support v7库来实现ActionBar在我的应用程序中 我的styles xml file
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie

随机推荐

  • 获取由另一个函数调用的所有函数的列表

    在JavaScript中 是否可以获得由另一个函数调用的所有函数的列表 我想创建一个函数依赖关系树 以分析脚本中的函数如何相互关联 以及哪些函数需要哪些其他函数 例如 getAllCalledFunctions funcA this sho
  • 如何使带有自制库的 Xcode 项目可移植?

    我已经使用 Brew 在我的 mac 上安装了 FreeType 我的 mac 上的代码工作正常 但是当我尝试在其他 mac 上运行该项目时 我收到下面提到的链接错误 dyld Library not loaded usr local op
  • 在管道中的分类器之后使用指标

    我继续调查管道 我的目标是仅通过管道执行机器学习的每一步 将我的管道与其他用例相适应将会更加灵活和容易 所以我做什么 第 1 步 填充 NaN 值 第 2 步 将分类值转换为数字 第三步 分类器 第四步 网格搜索 第5步 添加指标 失败 这
  • 以编程方式将可拖动项移动到某个位置

    假设有一个只能在一个轴上拖动的可拖动对象 有没有办法以编程方式移动它 要么开始 要么增量 当然我可以去改变它的CSSleft属性 但这不会触发 jQuery 提供的拖动事件 我本来期待找到一个dragBy x y 可拖动的方法 这是示例 h
  • 有人可以解释一下这个 C++ 联合示例吗?

    我在 cppreference com 上找到了这段代码 这是我见过的最奇怪的 C 我有几个问题 union S std string str std vector
  • 选择合适的缓存机制

    我的设置 4 个网络服务器 静态内容服务器 NFS挂载 2 个数据库服务器 2 个 施展魔法 的服务器 另外 8 台指定为多用途机器 我正在为三种缓存机制编写一个包装器 以便可以以某种标准化的方式使用它们 文件系统 Memcached 和
  • 来自 STDIN 的 Python JSON 输入出现问题

    input json load sys stdin print input id 当我输入 id 1 并按 Enter 时 我的程序不会继续 我只是卡在输入中 在有效的 json 传递到我的 stdlin 后 如何使程序继续 当你读入时sy
  • 在 PL/SQL 中打印字母金字塔

    我有一个练习编写一个程序 打印出如下所示的字母金字塔 A ABA ABCBA ABCDCBA ABCDFDCBA 该任务还建议使用 INSTR LPAD UPPER 我想要一个包含字母表中所有字母的金字塔 然而 我发现先用数字来表示会更容易
  • hackerrank新年混沌代码优化

    我正在尝试优化我的解决方案Hackerranks 的 新年混乱 问题 https www hackerrank com challenges new year chaos problem 问题的要点是这样的 有一个由 n 个人组成的队列 标
  • 检查集合是否非空的正确“clojure 方式”是什么

    我想编写一个函数 如果给定的集合不为空 则返回布尔值 true 否则返回 false 我可以做 defn boolean seq coll or defn not empty coll 由于我是 clojure 的新手 我最初倾向于选择 2
  • Cloudant couchapp 突然失败并出现 CSP 沙箱错误

    我有一个 couchapp 多年来一直在 Cloudant 免费计划上托管 几天前 它开始失败 html css 和 img 文件加载 但没有加载任何 js 浏览器控制台错误是 Blocked script execution in htt
  • 使用 VBA 根据另一张表中列出的单词删除行 - 性能缓慢

    我有一张包含大量数据的工作表 sheet1 该数据有多个列 其中一列称为 nameColumn nameColumn 每行包含一个单词 在表 2 中 我列出了 600 个单词 我需要删除sheet1中包含nameColumn中与sheet2
  • Android 小部件按钮停止工作

    我有一个带有小部件的 Android 应用程序 其中有按钮 这段代码有效 小部件上的按钮停止工作当发生某些事情时 例如更改手机语言 我使用共享偏好设置 所以如果用户重新安装应用程序 无需卸载 按钮又可以工作了并且设置仍保持原来的设置 我注意
  • 如何为xamarin android实现推送通知

    我尝试按照教程进行操作 将通知推送到 Xamarin Android https learn microsoft com en us azure notification hubs xamarin notification hubs pus
  • 当我确实需要从两个类继承时如何处理CS1721?

    在我的 C 代码中 我想要一个CustomIdentity继承自的类System MarshalByRefObject and System Security Principal GenericIndentity类 然而 当我尝试编写这样的
  • 如何使用 AngularFire 对对象应用部分更新

    The save Angularfire 0 8 中的内容让我感到困惑 这是一个最小的示例 我的controllers js 文件中的一个片段 controller LandingPageController scope firebase
  • C:通过大量使用 sin() 来提高函数的性能

    我有一个 C 函数 可以根据经过的时间计算 4 个正弦值 使用 gprof 我发现这个函数使用了 100 确切地说是 100 7 哈哈 的 CPU 时间 void update sines void clock gettime CLOCK
  • OAuth2 |客户凭证资源详细信息 |已弃用

    我是 Spring Security 的新手 我遇到过使用 client credentials 作为 Grant 类型来实现 OAuth2 我正在使用下面的代码 但我得到的建议是ClientCredentialsResourceDetai
  • android 将图像上传到服务器的有效方法

    我正在寻找一种将图像从android上传到php服务器的方法 目前我正在将图像编码为base64并发送它 但是它太慢了 有没有更好的方法 我正在使用 volley 作为网络客户端 我的2分钱 根据您的目标 几乎没有什么可以改进的 如果您担心
  • OnDateSetListener() 没有被调用

    当我更改日期时 OnDateSetListener 没有被调用 甚至setMinDate day 线路不工作 我认为由于某种原因DatePickerDialog尚未注册OnDateSetListener 但无法弄清楚 我已将对话框和侦听器声