展会信息港展会大全

Android编程之TimePickerDialog设置确定键导致OnTimeSetListener不响应问题
来源:互联网   发布日期:2016-01-06 19:19:03   浏览:3726次  

导读:在调用TimePickerDialog时,如果要修改TimePickerDialog中确定键的名字,就需要调用setButton(int whichButton,CharSequence te...

在调用TimePickerDialog时,如果要修改TimePickerDialog中确定键的名字,就需要调用setButton(int whichButton,CharSequence text,OnClickListener listener)方法,重新设置确定键的名字。但这样直接设置,例如下面的代码,就会造成OnTimeSetListener中onTimeSet不响应。

[java]

TimePickerDialog timePickerDialog = new TimePickerDialog(this,

new OnTimeSetListener() {

@Override

public void onTimeSet(TimePicker view, int hourOfDay,

int minute) {

System.out.println("time:" + hourOfDay + ":"

+ minute);

}

}, calendar.get(Calendar.HOUR_OF_DAY),

calendar.get(Calendar.MINUTE), false);

timePickerDialog.setTitle(R.string.title);

timePickerDialog.setButton(TimePickerDialog.BUTTON_POSITIVE,

getString(R.string.ok),

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

}

});

timePickerDialog.show();

所以,这里要改一下setButton(int whichButton, CharSequence text,OnClickListener listener)中,最后传入的参数,由OnClickListener listener改为TimePickerDialog对象本事,这样就可以响应OnTimeSetListener中onTimeSet的方法。代码如下:

[java]

TimePickerDialog timePickerDialog = new TimePickerDialog(this,

new OnTimeSetListener() {

@Override

public void onTimeSet(TimePicker view, int hourOfDay,

int minute) {

System.out.println("time:" + hourOfDay + ":"

+ minute);

}

}, calendar.get(Calendar.HOUR_OF_DAY),

calendar.get(Calendar.MINUTE), false);

timePickerDialog.setTitle(R.string.title);

timePickerDialog.setButton(TimePickerDialog.BUTTON_POSITIVE,

getString(R.string.ok), timePickerDialog);

timePickerDialog.show();

注意:setButton最后一个参数,不是OnClickListener对

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港