1
이 문제와 관련된 이전 스택 오버 플로우 해답을 살펴본 결과 아무도 문제를 해결하지 못했거나 다른 사람이 알아 낸 내용이지만 게시 한 내용을 게시하지 않았습니다. 경고 대화 상자에서 finish()를 호출 할 때 작업이 닫히지 않습니다.
//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();
을 시도하지만 활동을 닫히지 않습니다.
내가 알아 차 렸던 한가지는 처음에는 작동하지 않지만 동일한 활동으로 되돌아갑니다. 그러나 다시 스누즈 메뉴로 돌아가서 확인을 클릭하면 활동이 취소됩니다. 왜 이런 일이 일어나는 지 잘 모르겠습니다.
다음을보십시오. http://stackoverflow.com/questions/22477551/finish-activity-in-dialog-class-android-java –
@BlazeTama, 감사합니다. 그것은 아주 잘 작동합니다. –