private boolean validateFields() { if (mCategory.getText().toString().isEmpty()) mCategoryLayout.setError("Please select a category"); else if (mProducts.getText().toString().isEmpty()) mProductsLayout.setError("Please select a product"); else if (mSerialNumber.getText().toString().isEmpty()) mSerialNumberLayout.setError("Please enter the serial number"); else return true; return false; }
4 Réponses :
private boolean validateFields() { if (mCategory.getText().toString().isEmpty()) mCategoryLayout.setError("Please select a category"); else if (mProducts.getText().toString().isEmpty()) mProductsLayout.setError("Please select a product"); else if (mSerialNumber.getText().toString().isEmpty()) mSerialNumberLayout.setError("Please enter the serial number"); else return true; return false; }
Essayez ceci: p>
xxx pré> Plus tard (comme en cliquant sur Edittext) P> blockQuote>
xxx pré> blockQuote>
Démarrage de la version 23.2.0 de la bibliothèque de support Vous pouvez appeler ou le mettre dans votre texte xml comme tel: p> Bien que le nom puisse vous faire penser que cela supprime toutes les indications, il suffit de retirer le flottant. P> Documents associés et problème: http://developer.android.com/reference/andrroid/support/design/widget/textinPuLayout.html#Sethinten p> https: // code. google.com/p/andrroid/issues/detail?id=181590 p> p>
Cela supprimera la vue sur l'indice, de sorte que la mise en page se déplace.
Si quelqu'un veut préserver l'étiquette flottante mais ne les effondrez pas lorsque nous utilisons setError () code> sur
TextInputLayout code> J'ai trouvé une solution hacky qui fonctionne avec support
25.4 .0 code>. Malheureusement, il peut être corrompu dans les versions plus récentes.
if (hasText || this.isEnabled() && (isFocused || isErrorShowing)) {
if (force || this.mHintExpanded) {
this.collapseHint(animate);
}
} ...
Que voulez-vous dire avec flottant?
L'animation de l'étiquette - AndroidHive.info/2015 / 09 / ...
Depuis les documents, je suppose que vous devez utiliser votre TextInputLayout la méthode SéthintimationEnabled (FALSE); Programmatiquement ou Android.Support.design:hinTanimationEnabled="false "en XML ....
Animation partit mais l'étiquette est toujours flottante au sommet
Sur quelle API vous construisez votre application? C'était un problème sur l'API <23 et est fixé depuis l'API 23 ....
BuildToolVersion "23.0.2"
Et Compilez-vous à Gradle contre la même version comme ceci: Compiler 'com.android.support:design:23.0'?
Compiler 'com.android.support:design:23.1.1'
Donc, il doit y avoir autre chose ... Veuillez mettre à jour votre code, montrer comment vous l'avez désactivé. Je pense que si vous utilisez une version de construction MINSDK <23m, cela ne fonctionne pas ...... je suppose ...