AlertDialog setContentViewは、画面を引き継ぎます
-
25-09-2019 - |
質問
おそらく、私はここで何かを明らかに不足しているんだけど、私はAlertDialogのボディのためのカスタムビューを設定することに苦労しています。ここで私は、カスタムビューを設定するためにやっているものです。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(View.inflate(getContext(), R.layout.dialog_body, null));
}
の代わりにAlertDialogの本体の内容を設定する、ビューが画面全体に配置されます。どのように私はちょうどAlertDialogメッセージ本体を交換するためにビューを得るのですか?
解決
あなたはそれが画面全体を占める理由ですsetContentView
を呼び出すことによって、アクティビティのビューを設定しています。あなたはまた、私は活動であると仮定し何のonCreate
方法でそれをやっている、あなたはonCreateDialog
方法でそれを行う必要があります。
ドキュメントと例と相続人リンクます。
public Dialog onCreateDialog(int id) {
Dialog dialog = null;
AlertDialog.Builder builder = new AlertDialog.Builder(app);
AlertDialog alert = null;
builder.setTitle("A title")
.setCancelable(true)
.setView(myView);
alert = builder.create();
return alert;
}
所属していません StackOverflow