Saya mencoba membuat dialog peringatan dengan sebuah EditText
objek. Saya perlu mengatur teks awal secara EditText
terprogram. Inilah yang saya miliki.
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
// ...Irrelevant code for customizing the buttons and title
AlertDialog alertDialog = dialogBuilder.create();
LayoutInflater inflater = this.getLayoutInflater();
alertDialog.setContentView(inflater.inflate(R.layout.alert_label_editor, null));
EditText editText = (EditText) findViewById(R.id.label_field);
editText.setText("test label");
alertDialog.show();
Apa yang harus saya ubah agar saya dapat memiliki valid EditText
objek yang ?
[edit]
Jadi, itu ditunjukkan oleh user370305 dan lainnya yang harus saya gunakan alertDialog.findViewById(R.id.label_field);
Sayangnya, ada masalah lain di sini. Rupanya, pengaturan tampilan konten AlertDialog
menyebabkan program macet saat runtime. Anda harus mengaturnya di pembangun.
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
// ...Irrelevant code for customizing the buttons and title
dialogBuilder.setView(inflater.inflate(R.layout.alert_label_editor, null));
AlertDialog alertDialog = dialogBuilder.create();
LayoutInflater inflater = this.getLayoutInflater();
EditText editText = (EditText) alertDialog.findViewById(R.id.label_field);
editText.setText("test label");
alertDialog.show();
Sayangnya, saat Anda melakukan ini, alertDialog.findViewById(R.id.label_field);
sekarang kembali null
.
[/ edit]
dialogBuilder.setView(R.layout.dialog_layout);
getLayoutInflater()
jikainflater
tidak ditentukan.Gunakan yang ini
sumber
builder.create().show();
, Anda dapat memeriksabuilder.show();
kode untuk detail lebih lanjutKamu bisa menulis:
sumber
Jika ada yang menginginkannya di Kotlin:
Mem- posting ulang jawaban @ user370305 .
sumber
Ubah ini:
untuk ini:
sumber
sumber
sumber