您的位置:首页 > 其它

关于TimePickerDialog里的取消按钮

2016-03-08 20:16 316 查看
最近在做一个功能,需要用到时间选择器。但里面出现了一个问题,在模拟器(4.4)里,时间选择器显示的结果是只有一个“完成”的按钮,但在我的真机(4.1)里却多了个“取消”按钮。本来之前我是在onTimeSet()方法里写确认后的操作,然后在setOnCancelListener()里做点击对话框外部或是手机返回键时的取消操作。但是在真机里,发现点击“取消”其实没有调用setOnCancelListener()方法,于是找了很多地方。有找到说是自定义时间选择器,这当然是一个解决方法,但我现在不太想自定义。通过过Google找了很多方法但都不起作用。下午才有所进展,首先我是找到了这篇blog:解决DatePickerDialog和TimePickerDialog控件取消按钮问题,但他里面就是前面说的自定义,不过我了解了一个信息,为什么会出现不同的样式,就是它应该是个bug。不过它一定会有解决方法的。

后来在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,估计也是类似这样的写法,不过我还没去尝试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: