我正在使用一个警报应用程序,我想显示一个带有两个按钮的TimePickerDialog(确定和取消)我使用此代码获取当前使用时单击确定按钮的时间:
显示对话框的代码:
final TimePickerDialog pic = new TimePickerDialog(
TimerSettingsActivity.this,
android.R.style.Theme_Holo_Dialog_NoActionBar,
timePickerCallback, hour, minute, true);
pic.setTitle(getResources().getString(R.string.dialog_time_title));
pic.setButton(DatePickerDialog.BUTTON_POSITIVE, "OK",
new DatePickerDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE)
mIsClickOkButton = true;
}
});
pic.setButton(DatePickerDialog.BUTTON_NEGATIVE, "Cancel",
new DatePickerDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_NEGATIVE) {
mIsClickOkButton = false;
}
}
});
pic.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
}
});
pic.show();
这是Set time listener:
OnTimeSetListener timePickerCallback = new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
if (mIsClickOkButton) {
// Save time to pref
String pref_time = String.valueOf(hourOfDay) + ","
+ String.valueOf(minute);
mEditor.putString(Common.PREFS_TIME, pref_time);
mEditor.commit();
mTxtTime.setText(Common.createTimeStringToShow(hourOfDay,
minute));
}
}
};
我使用LG Optimus G进行测试,它运行正常,此解除的行为是OK按钮按下=> onTimeSet
但是当我为我的客户(三星设备)发布此应用程序时,按OK按钮时,它无法正常运行。有什么想法吗?
谢谢!