[안드로이드] Activity에서 AlertDialog 객체의 show() 사용법
안녕하세요. 개발자 드리머즈입니다.
Android Developer에 나온 가이드(https://developer.android.com/guide/topics/ui/dialogs.html)
를 따라 AlertDialog를 사용하기 위해 아래처럼 CustomDialogFragment를 만들고,
public class CustomDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Test Message")
.setPositiveButton("Positive", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.setNegativeButton("Negative", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
return builder.create();
}
}
사용하고자 하는 Activity에서 CustomDialogFragment의 객체를 만든 다음에 이 객체에서 show()함수를 호출하려고 했습니다. 그런데 이 show()함수의 첫 번째 인자로.. FragmentActivity에서 사용 가능한 getSupportFragmentManager()를 주거나, Fragment에서 사용 가능한 getFragmentManager()를 주어야합니다.
Android Developer 공식 가이드 내용 :
대화상자를 표시하고자 하는 경우,
|
그런데 저처럼 Acitivity에서 AlertDialog의 show()함수를 사용하고자 하면 어떻게 해야할까요?
결론은.. 그냥 getFragmentManager()함수를 사용하면 됩니다.
제가 디벨로퍼 사이트의 말을 잘못 이해했던 것인지.. Fragment에서만 getFragmentManager()함수 사용이 가능한 줄 알았는데 그냥 Activity에서도 사용이 가능하네요.
getFragmentManager()함수가 어디 정의되어있는지 살펴보니..
Activity와 Fragment에 대해서 공부를 해야할 것 같습니다.
댓글 영역