我如何像我的代码中的变量那样使用开关或if语句?更改id或其他内容,因为id vars和DialogInterface都是相同的。我用“构建器”作为代码来做这个吗?正面按钮将是一个贪睡按钮,所以我很想要,如果积极点击拉起睡眠功能或创建一个功能,使警报响起,但用户设置为更长时间再打盹。
这是我的代码,
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Time to get up! How was your nap?")
.setCancelable(false)
.setPositiveButton("More Sleep!!",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
vibarate.cancel();
onPause();
}
})
.setNegativeButton("Great! ",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
AlertDialogTest.this.finish();
}
});
AlertDialog alert = builder.create();
alert.show();
答案 0 :(得分:1)
贪睡按钮是一个onClickListener,所以它确实应该在给定时间内设置另一个警报而不是睡眠线程。
我插入了一个假方法:setUpNewAlarmForTime(5,TimeUnit.Seconds); 实际上,你已经构建了一个警报,而贪睡回调只需要使用它。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Time to get up! How was your nap?")
.setCancelable(false)
.setPositiveButton("More Sleep!!",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
vib.cancel();
onPause();
vib = setUpNewAlarmForTime(5,TimeUnit.Seconds);
}
})
.setNegativeButton("Great! ",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
AlertDialogTest.this.finish();
}
});
AlertDialog alert = builder.create();
alert.show();