2014-04-16 27 views
0

在我的Android應用程序中,我有一個使用TimePickerDialog的活動。當我在對話框外觸摸屏幕時,我的TimePickerDialog消失。我能避免這種情況嗎?Android中TimePickerDialog的意外解僱

這裏是我的代碼:

protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case TIME_DIALOG_ID: 
      // set time picker as current time 
      Calendar c = Calendar.getInstance(); 
      int currentHour = c.get(Calendar.HOUR_OF_DAY); 
      int currentMinute = c.get(Calendar.MINUTE); 
      TimePickerDialog timePickerDialog = new TimePickerDialog(this, 
        timePickerListener, currentHour, currentMinute,true); 
      timePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.cancel), new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        if (which == DialogInterface.BUTTON_NEGATIVE) { 
         startPreviousActivity(); 
        } 
       } 
       }); 
      timePickerDialog.setOnCancelListener(new OnCancelListener(){ 
       @Override 
       public void onCancel(DialogInterface dialog){ 
        startPreviousActivity(); 
       }}); 
      timePickerDialog.setTitle(timeSetting); 
      Window window = timePickerDialog.getWindow(); 
      window.setGravity(Gravity.TOP); 
      WindowManager.LayoutParams wlp = window.getAttributes(); 
      wlp.y = (int)(100 * dpHeight/MIN_HEIGHT); 
      window.setAttributes(wlp); 
      return timePickerDialog; 
     } 
     return null; 
    } 

回答