我查看了之前有关此问题的Stack Overflow答案,但没有人解决这个问题,或者有人想出来但没有回复他们所做的事情。
这是我的典型贪睡按钮:
//Add snooze button
final Button snooze_button = (Button) findViewById(R.id.snooze_button);
// Strings to Show In Dialog with Radio Buttons
final CharSequence[] items = {"15 minutes","30 minutes","45 minutes","1 hour"};
snooze_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Snooze?");
builder.setSingleChoiceItems(items,-1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
final String ONE_TIME = "onetime";
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
if("15 minutes".equals(items[which]))
{
intent.putExtra(ONE_TIME, Boolean.TRUE);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 900000, pi);
}
else if("30 minutes".equals(items[which]))
{
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1800000, pi);
}
else if("45 minutes".equals(items[which]))
{
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 2700000, pi);
}
else if("1 hour".equals(items[which]))
{
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 3600000, pi);
}
}
});
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MyActivity.this.finish();
}
});
builder.show();
}
});
当用户参加活动时,用户可以单击“暂停”按钮并单击暂停时间。当他们选择一个选项时,他们点击确定。我希望能够在点击确定时关闭/关闭当前活动。
我试过
MyActivity.this.finish();
以上但它没有关闭活动。
我注意到的一件事是,它第一次不起作用,我重新开始相同的活动,但是如果我再次回到贪睡菜单然后点击确定,它会解除活动。不知道为什么会这样。
答案 0 :(得分:2)
我接受了Blaze Tama的建议和我的onClick方法:
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent menu = new Intent(context, MyOtherActivity.class);
context.startActivity(menu);
((Activity) context).finish();
}
});
有效! :D我希望这可以帮助解决这个问题的人。