Giriş formu oluştururken bir sorun buldum. Kullanıcı bir şeyi doğru bir şekilde doldurduğunda, TextInputLayout'ta bazı hatalar gösterip bunları devre dışı bırakıyorum.TextInputLayout setErrorEnabled, yeni TextView nesnesi oluşturmuyor
Ben
mTextInputLayout.setError("This field is required");
ile ayarlayın ve
mTextInputLayout.setError(null);
Problem ile devre dışı hala hata mesajı gösteriyordu boş TextView'un nesnesinin altlıkları olmasıdır . Bu yüzden ve nasıl çalıştığını ve iyi görünüyor
mTextInputLayout.setErrorEnabled(false);
ayarı ile tamamen hatayı devre dışı bırakmak için çalıştı, ANCAK ben tekrar belirleyemezsiniz.
mTextInputLayout.setErrorEnabled(true);
mTextInputLayout.setError("This field is required");
ararken yine sadece salt çizgi DEĞİL hata mesajı bakın, nedenle hata mesajı gösteriyordu TextView'un tahrip ve yeniden oluşturulmamış görünüyor.
setErrorEnabled(false)
çağrıldığında TextView nesnelerinin yok edildiği ve yeniden oluşturulmadığı anlaşılan here okudum. Hata mı, özellik mi?
The source for this control is not yet available in AOSP so I used the decompiler built in to Android Studio to examine the code to understand what was going wrong. I found that setErrorEnabled() actually creates and destroys a TextView object, whereas I was expecting it to simply toggle the visibility.
Teşekkürler, aynı sorunla karşı karşıya kalıyordum. Google neden böyle uygulandığını bilmiyorum, ancak bu setErrorEnabled (true) amaçlanan gibi çalışmıyorsa korkunç -> setErrorEnabled (true) den sonra setErrorEnabled (true) den sonra – Ragaisis
numaralı telefona dönüp java'ya bakıyorum. lang.NoClassDefFoundError: Başarısız çözüm: Landroid/support/v7/internal/widget/TintManager; , android.support.design.widget.TextInputLayout.setError (TextInputLayout.java: 379) at textInputLayout.setError (null); –
Android destek kütüphanesini projenize (build.gradle dosyanızda) alıyorsunuz? bağımlılıkları da kullanıyorsanız, {comb = com.android.support:design:23.1.0 ' } – dabo