@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK) {
      mAdapter.setAlarms(dbHelper.getAlarms());
      mAdapter.notifyDataSetChanged();
    }
  }
 @Override
 public void onClick(View v) {
   if (v.getId() == R.id.checkBox_alarm_active) {
     CheckBox checkBox = (CheckBox) v;
     Alarm alarm = (Alarm) alarmListAdapter.getItem((Integer) checkBox.getTag());
     alarm.setAlarmActive(checkBox.isChecked());
     Database.update(alarm);
     AlarmActivity.this.callMathAlarmScheduleService();
     if (checkBox.isChecked()) {
       Toast.makeText(AlarmActivity.this, alarm.getTimeUntilNextAlarmMessage(), Toast.LENGTH_LONG)
           .show();
     }
   }
 }
  public void updateAlarmList() {
    Database.init(AlarmActivity.this);
    final List<Alarm> alarms = Database.getAll();
    alarmListAdapter.setMathAlarms(alarms);

    runOnUiThread(
        new Runnable() {
          public void run() {
            // reload content
            AlarmActivity.this.alarmListAdapter.notifyDataSetChanged();
            if (alarms.size() > 0) {
              findViewById(android.R.id.empty).setVisibility(View.INVISIBLE); // 如果有鬧鐘就顯示
            } else {
              findViewById(android.R.id.empty).setVisibility(View.VISIBLE); // 沒有鬧鐘就不顯示
            }
          }
        });
  }