안녕하세요.

안드로이드로 간단한? 어플리케이션을 구현하고 있는, 아직 초보 개발자 입니다.
어플 개발 중에 AlertDialog의 취소 버튼을 눌렀을 때에 선택한 값이 그대로 다음에 보이는 문제가 있어서 해결 방법을 찾고 있었는데요.
이곳에서 어떤 님이 저와 동일한 질문을 올리신 글(273글)에, 회색님께서 답해주신 것을 보고 해보았습니다.
해결하고자 하던 문제는 해결 된 것 같은데 다른 문제가 생기네요. (SDK ver1.5)

문제는,
single chice 리스트에서 아무것도 선택을 안하고 바로 cancle을 누르는 동작을 연달아 하면,
한번은 이전에 선택했던 것이 선택된 상태가 보여지는데, 두 번째에는 아무것도 선택되지 않은 상태로 리스트가 보이고, 또 다시 cancle을 선택하면 이전에 선택한 것이 보이고, 두 번째에는 아무것도 선택되지 않은 리스트가 보이는 것이 반복됩니다.

몇시간째 이것저것 고민을 해봐도 도저히 원인을 모르겠어서 도움을 부탁드립니다.
제가 무엇을 잘못한 것인지, 추가적으로 다른 작업을 해주어야 하는 것인지 한번 봐주시길 부탁드립니다.

다음과 같이 cancle의 onClick 리스너에 두 줄을 넣어주었는데요.

.setNegativeButton("Cancle", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      /* User clicked No so do some stuff */
      AlertDialog alert = (AlertDialog)dialog;             
      alert.getListView().setItemChecked(m_checkedInterval, false);
     }
  })
위에 말씀드린 현상이 반복됩니다.
추가된 두 줄을 빼면, 그런 현상이 없거든요. 뭐가 문제일까요?
다음은 onCreateDialog 함수 전문입니다. 꼭 한번 봐주시길 부탁드립니다. 꾸벅..

private int mSE = 0, mSI;
  @Override
  protected Dialog onCreateDialog(int id) {
   // TODO Auto-generated method stub
   switch (id) {
         
         case DIALOG_SLIDESHOW_TRANSITION:
          final int m_checkedSE = preferences.getInt("mSlideEffect", 0);
    return new AlertDialog.Builder(Setting_Activity_list.this)
    .setIcon(R.drawable.alert_dialog_icon)
    .setTitle("Slide Transition Effect")
    .setSingleChoiceItems(R.array.select_slideshow_effect, m_checkedSE, new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      /* User clicked on a radio button do some stuff */
      mSE = whichButton;
     }
    })
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      
      /* User clicked Yes so do some stuff */
      SharedPreferences.Editor editor = preferences.edit();             
               editor.putInt("mSlideEffect", mSE);
               editor.commit();
     }
    })
    .setNegativeButton("Cancle", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      /* User clicked No so do some stuff */
      System.out.println("DIALOG_SLIDESHOW_TRANSITION :"+whichButton+","+m_checkedSE);
      AlertDialog alert = (AlertDialog)dialog;             
      alert.getListView().setItemChecked(m_checkedSE, true);
     }
    })
    .create();
         case DIALOG_SLIDESHOW_INTERVAL:
          final int m_checkedInterval = preferences.getInt("mSlideInterval", 0);
          System.out.println("mCheckedInterval :"+m_checkedInterval);
          return new AlertDialog.Builder(Setting_Activity_list.this)
    .setIcon(R.drawable.alert_dialog_icon)
    .setTitle("Slide Transition Effect")
    .setSingleChoiceItems(R.array.select_slideshow_interval, m_checkedInterval, new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      /* User clicked on a radio button do some stuff */
      System.out.println("DIALOG_SLIDESHOW_INTERVAL :"+whichButton+","+m_checkedInterval);
      mSI = whichButton;
     }
    })
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      
      /* User clicked Yes so do some stuff */
      SharedPreferences.Editor editor = preferences.edit(); 
      editor.putInt("mSlideInterval", mSI);
               editor.commit();
     }
    })
    .setNegativeButton("Cancle", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      /* User clicked No so do some stuff */
      AlertDialog alert = (AlertDialog)dialog;             
      alert.getListView().setItemChecked(m_checkedInterval, false);
      System.out.println("DIALOG_SLIDESHOW_INTERVAL_neg :"+whichButton+","+m_checkedInterval);
     }
    })
    .create();

   }
         return null; 
  }