2012-03-18 6 views
5

조각을 사용하도록 Android 애플리케이션을 변환 중입니다. 이전에는 지금은 단편적인 활동이있었습니다. 따라서,이 코드는 더 이상 사용할 수 없습니다 다음 Fragment 객체 내에서조각에 확인 대화 상자 표시

showDialog(CONFIRM_ID); 
// ... 
@Override 
public Dialog onCreateDialog(int id) { 
    // Create the confirmation dialog... 
} 

, 나는 확인 대화 상자를 표시해야 확인이 다시 상태 업데이트에 대한 객체에 나를 던져 후 그.

예. 조각 X.

  • 표시 확인 대화 상자 내부

    1. .

    X.

  • 에 "예"업데이트 UI 나는이 작업을 수행 할 수있는 방법 있다면? 실용적인 샘플 코드를 제공하십시오.

    다음과 같이 당신은 단순히 코드를 사용하여 대화 상자 (에 AlertDialog를) 만들 수

    답변

    9

    : 즉시 대화 자체를 취소하지 않는 버튼을 사용하여 대화 상자를 작성해야하는 경우 http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog

    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setMessage("Are you sure you want to exit?") 
         .setCancelable(false) 
         .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           MyActivity.this.finish(); 
          } 
         }) 
         .setNegativeButton("No", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           dialog.cancel(); 
          } 
         }); 
    AlertDialog alert = builder.create(); 
    alert.show(); 
    

    것은 당신이 내 대답을 볼 수 있습니다 : How to prevent a dialog from closing when a button is clicked

    +0

    감사합니다. 이것은 충분할 것이다! (하지만 최선의 해결책은'DialogFragment'를 사용하여 결과를 원본 조각으로 전파하는 것입니다.) – l33t

    0
      AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());  
         builder.setTitle("Your Title"); 
         builder.setMessage("Your Dialog Message"); 
         builder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
            //TODO 
            dialog.dismiss(); 
          } 
         }); 
         builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
            //TODO 
            dialog.dismiss(); 
          } 
         }); 
         AlertDialog dialog = builder.create(); 
         dialog.show();