Silakan lihat dialog kustom di bawah ini. Saya memiliki bidang teks edit pada dialog dan jika bidang teks kosong, saya ingin menonaktifkan positiveButton
. Saya bisa mendapatkan charListener untuk bidang teks tetapi saya tidak yakin bagaimana saya akan menyetel positivebutton
untuk menonaktifkan atau mengaktifkan dari pendengar itu? Apa acuan tombol positif dan negatif?
case DIALOG_TEXT_ENTRY:
// This example shows how to add a custom layout to an AlertDialog
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);
return new AlertDialog.Builder(AlertDialogSamples.this)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_text_entry)
.setView(textEntryView)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked cancel so do some stuff */
}
})
.create();
}
Jawaban:
Edit untuk solusi lengkap ...
Ini contoh kode, coba ini
Untuk tombol negatif
Untuk tombol id : Referensi alert_dialog.xml
Diedit:
Dan setOnShowListener sejak API level 8 (FroYo), melakukan hal yang sama,
Diedit
sumber
Tak satu pun dari jawaban ini benar-benar memecahkan masalah.
Saya melakukannya dengan menggunakan tata letak khusus dengan EditText di dalamnya dan TextWatcher pada tampilan itu.
sumber
d
Berikut kode lengkap untuk mengaktifkan dan menonaktifkan tombol dialog positif:
sumber
Anda dapat menulis pendengar ke kotak teks edit, dan mencoba untuk mengaktifkan atau menonaktifkan tombol. Ini adalah contoh kode untuk xamarin.
sumber
Untuk menghapus catatan dari tampilan daftar database menggunakan pemegang tampilan, Anda menggunakan kode ini dalam metode getview () ..
Baca lebih banyak
sumber
DialogFragment ini akan melakukan pekerjaan untuk Anda. Perhatikan bahwa dialog akan tetap terbuka setelah rotasi layar mempertahankan teks apa pun yang telah diketik pengguna. Jika tidak ingin hal itu terjadi, Anda perlu menutup fragmen di onStop aktivitas Anda. Tanda tangan metode Instance baru dapat diubah menjadi apa pun yang Anda butuhkan.
Tambahkan implementasi ke aktivitas Anda (semua jenis Aktivitas baik-baik saja):
Buat diaglogFragment dalam aktivitas Anda seperti ini:
Tangani hasil dalam aktivitas Anda seperti ini:
Anda perlu membuat pengenal sumber daya, jadi tambahkan sumber daya ini di bawah res / values
sumber
Itu mungkin membantu Anda, terima kasih.
sumber