gpt4 book ai didi

android - 时间选择器对话框 : Clicking "Cancel" button calls onTimeSet() method

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:52 26 4
gpt4 key购买 nike

我使用 TimePickerDialogonTimeSet() 方法。我添加了一个带有 onClickListenercancel 按钮。
我的问题是,当我单击 cancel 按钮时,会调用 onTimeSet() 方法。为什么?有什么办法可以解决这个问题?

// Create timePicker and set listener
timeListener = new TimePickerDialog.OnTimeSetListener() {

@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {


};

timePicker = new TimePickerDialog(RS_CreateTripActivity.this,
timeListener, hour, min, false);
timePicker.setCanceledOnTouchOutside(false);
timePicker.setCancelable(false);

// Set negative button click listener
timePicker.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
datePicker.dismiss();
}
});

我尝试使用 onClickListener 设置 positive 按钮,但在那种情况下我无法获得用户选择的时间。如果有人告诉我如何在 onClickListener 中获取时间,那么它也可以解决我的问题。

最佳答案

你必须这样使用。

private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
time = ""+mHour+":"+mMinute;

}
};



@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
TimePickerDialog myTime = new TimePickerDialog(this,mTimeSetListener, h, m, false);
myTime(new DialogInterface.OnCancelListener(){
@Override
public void onCancel(DialogInterface arg0) {
//your cancel task.
}
);//For cancel button

return myTime; //Return the dialog
break;
return null;
}

它就像魅力一样工作。

关于android - 时间选择器对话框 : Clicking "Cancel" button calls onTimeSet() method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17398422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com