关于TimePickerDialog里的取消按钮
2016-03-08 20:16
316 查看
最近在做一个功能,需要用到时间选择器。但里面出现了一个问题,在模拟器(4.4)里,时间选择器显示的结果是只有一个“完成”的按钮,但在我的真机(4.1)里却多了个“取消”按钮。本来之前我是在onTimeSet()方法里写确认后的操作,然后在setOnCancelListener()里做点击对话框外部或是手机返回键时的取消操作。但是在真机里,发现点击“取消”其实没有调用setOnCancelListener()方法,于是找了很多地方。有找到说是自定义时间选择器,这当然是一个解决方法,但我现在不太想自定义。通过过Google找了很多方法但都不起作用。下午才有所进展,首先我是找到了这篇blog:解决DatePickerDialog和TimePickerDialog控件取消按钮问题,但他里面就是前面说的自定义,不过我了解了一个信息,为什么会出现不同的样式,就是它应该是个bug。不过它一定会有解决方法的。
后来在StackOverflow上遇到了一个解决方法:
(R.string.cancel是我自己在文件里写的)
没想到果真可以了!这就是点击取消按钮的监听方法。
知道还有个DatePickerDialog,估计也是类似这样的写法,不过我还没去尝试。
后来在StackOverflow上遇到了一个解决方法:
//监听取消按钮 timePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (which == DialogInterface.BUTTON_NEGATIVE) { //取消操作 } } });
(R.string.cancel是我自己在文件里写的)
没想到果真可以了!这就是点击取消按钮的监听方法。
知道还有个DatePickerDialog,估计也是类似这样的写法,不过我还没去尝试。
相关文章推荐
- 调整数组顺序使得奇数位于偶数前面
- vultr vps服务器存在的7个优势及选择原因
- Java设计模式学习笔记(观察者模式)
- python 压缩
- 【CODEVS1033】蚯蚓的游戏问题(费用流)
- Unity3D启动报错的解决方案
- 第1周项目2—就拿胖子说事
- 第二周项目2-就拿胖子说事
- 因子分解机模型简介
- POI 实现对 Excel 文件读写
- 每周更新学习进度表
- 66. Plus One
- HDUACM2017
- javascript中定义事件的三种方式
- <Unity3D>上下左右 键控制人移动
- php五大运行模式CGI,FAST-CGI,CLI,ISAPI,APACHE模式浅谈
- Handler用法
- unity3d NGUI多场景共用界面制作
- 学习进度条
- C++运算符优先级