나는 단지에 AlertDialog, 당신은 아무런 조건없이 자신의 레이아웃을 사용할 수있는이 방법을 시뮬레이션하는 사용자 정의 클래스를 만드는 것입니다. (완벽한 스타일의 AlertDialog를 원한다면 프레임을 완전히 없앨 수없는 몇 가지 이상한 문제가 있습니다.) 이런 식으로 뭔가를 확장 할 수 있습니다 :
public class CustomDialog extends Dialog {
private Button positive, negative;
public CustomDialog(Context context) {
super(context);
initialize(context);
}
protected CustomDialog(Context context, boolean cancelable, OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
initialize(context);
}
public CustomDialog(Context context, int theme) {
super(context, theme);
initialize(context);
}
private void initialize(Context c) {
//Inflate your layout, get a handle for the buttons
positive = (Button)layout.findViewById(R.id.positive):
negative = (Button)layout.findViewById(R.id.negative):
positive.setVisibility(View.GONE);
negative.setVisibility(View.GONE);
}
public void setPositiveButton(String buttonText, View.OnClickListener listener) {
positive.setText(buttonText);
positive.setOnClickListener(listener);
positive.setVisibility(View.VISIBLE);
}
public void setNegativeButton(String buttonText, View.OnClickListener listener) {
negative.setText(buttonText);
negative.setOnClickListener(listener);
negative.setVisibility(View.VISIBLE);
}
}
먼저 setPositiveButton() 및 setNegativeButton()을 시도해 보겠습니다. –
@ Code-Guru 이러한 메서드는 Dialog 클래스에 없습니다. David, AlertDialog를 재 작성하는 대신 사용하는 것이 어떻습니까? – Sam
@Sam 죄송합니다. 먼저 API 안내서를 다시 확인해야합니다. 일반 대화 상자 대신 AlertDialog를 사용할 수 있습니다. 그것은 당신이 원하는 것을 할 수있는'setButton()'메소드를 가지고있다. –