티스토리 뷰
안드로이드에서 기본으로 제공하는 대화상자란 놈을 한번 써보자.
내가 삽질한 것만.
우선 여기 참고.
https://developer.android.com/guide/topics/ui/dialogs.html?hl=ko
public class FireMissilesDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.dialog_fire_missiles)
.setPositiveButton(R.string.fire, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// FIRE ZE MISSILES!
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
요렇게 하라고 나옴.
자 설명들어간다.
onCreateDialog는 도대체 언제 불리느냐???????? 이게 중요한거임.
-> 생성자 호출할 때 XXXXXX, 인스턴스에서 show(getFragmentManager(), TAG); 할 때 불림.
그니까, 다른 클래스에서 대화상자의 값들을 set해줄 때,
public void setTitle(String title) {
mTitle = title;
}
public void setItems(CharSequence[] items) {
mItems = items;
}
public void setListener(DialogInterface.OnClickListener listener) {
mListener = listener;
}
요런식으로 받아서, onCreateDialog 할 때 builder에다가 다 set 해주든가.
아니면, 생성자에서 builder 인스턴스를 만들어주고, set할 때마다 빌더에 직접 셋하고,
show()란 애도 만들어서 builder.show() 하면 댐.
끝.
'개발 > 안드로이드' 카테고리의 다른 글
Android Action bar Style Setting (0) | 2017.10.23 |
---|---|
Android Dagger2 적용 (0) | 2017.10.12 |
Android Data Binding (0) | 2017.10.12 |
Android ButterKnife 적용 (0) | 2017.10.11 |
Glide Transition (0) | 2017.10.10 |
댓글