2010-07-24 5 views
8

누구든지 AlertDialog.Builder 클래스를 사용해야하는 문맥을 설명해 주시겠습니까? 나는 안드로이드 앱 개발을 처음 접했고 솔직히 어떤 상황을 사용해야하는지 이해하지 못한다.AlertDialog.Builder는 어떤 컨텍스트를 사용해야합니까?

말, 나는에 AlertDialog.Builder 클래스의 객체를 생성 할 -

AlertDialog.Builder ab = new AlertDialog.Builder(); 
ab.setMessage("Test"); 

ab.show(); 

어떤 맥락 내가 그것을 사용해야합니까? 경고 대화 상자 onCreate 또는 OnClickListener을 사용하거나 이러한 이벤트의 처리기를 사용하는 경우와 다를 수 있습니까?

답변

4

내 응용 프로그램의 첫 번째 버전에서는 onCreateDialog를 사용하지 않고 실수로 대화 상자를 만들고 보여주었습니다. 자신이 직접하는 경우 활동이 끝나기 전에 대화 상자를 닫는 등의 작업을해야합니다. 그렇지 않으면 창문이 누출됩니다.

귀하의 활동에서 onCreateDialog를 대체하고 ab.create() (show()가 아님)를 반환합니다. 그런 다음 onCreateDialog가 대화 상자 표시를 처리하므로 showDialog (id)를 호출하면됩니다. U 원하는 경우

11

실행되는 활동의 컨텍스트를 사용해야합니다. 즉, YourNameOfActivity.this을 문맥으로 사용하십시오.

1
AlertDialog.Builder ab = new AlertDialog.Builder(this); 
ab.setMessage("Test") 
    .show; 

(또는) 는 (예, 아니오) 버튼이

AlertDialog.Builder ab = new AlertDialog.Builder(this); 
ab.setMessage("Are you sure you want to exit?") 
    .setPositiveButton("Yes", dialogClickListener) 
    .setNegativeButton("No", dialogClickListener) 
    .show(); 
을 사용하여 의미