Donc j'ai un formulaire de connexion, quand l'utilisateur clique sur le login je vais vérifier les entrées.textinputlayout errorenabled et montrant des erreurs
D'abord ce que je fais, en cliquant sur le bouton de connexion j'appelle textinputlayout.seterrorenabled(false)
, puis quand l'appel API est terminée et j'ai une erreur sur mon editttext j'appelle textinputlayout.seterrorenabled(true)
, textinputlayout.seterror(message)
. Tout est bon, maintenant je clique sur le login et répète le même processus textinputlayout.seterrorenabled(false)
et après l'appel de l'API est sur textinputlayout.seterrorenabled(true)
, textinputlayout.seterror(message)
. Cependant, cette fois le message ne s'affiche pas. Quel est le problème?
<android.support.design.widget.TextInputLayout
android:id="@+id/usernameField1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/usernameField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/user_name"
android:textColorHint="#808080"
android:paddingBottom="@dimen/tendp"
android:paddingLeft="@dimen/tendp"
android:paddingRight="@dimen/tendp"
android:paddingTop="@dimen/tendp"
android:textSize="@dimen/textSize" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/passwordField1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/passwordField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/password"
android:textColorHint="#808080"
android:paddingBottom="@dimen/tendp"
android:inputType="textPassword"
android:paddingLeft="@dimen/tendp"
android:paddingRight="@dimen/tendp"
android:paddingTop="@dimen/tendp"
android:textSize="@dimen/textSize" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:background="?attr/selectableItemBackground"
android:text="@string/login"
android:visibility="gone"
android:textColor="@android:color/white"
android:textSize="@dimen/textSize" >
</Button>
final Button login = (Button) findViewById(R.id.login);
// login.setOnClickListener(new OnClickListener() {
login.setOnClickListener(here i set my textinputlayout to errorenabled false or seterror null // start an asynctask
here in asynctask onpostexecute i set the errorenabled(true) and set error(the message)
s'il vous plaît un peu de code ici. –
pourrait être un problème de millisecondes. j'appelle seterror ("message1") puis directement seterror ("message2") .. sa prise de message 1 et pas de message 2. – user3278732
oui pourrait être bug dans android http://stackoverflow.com/questions/34242902/textinputlayout-seterror- feuilles-vide-espace-après-compensation-l'erreur mon problème est d'avoir beaucoup d'espace quand il est vérifié correct. un autre problème est que l'erreur n'est pas affichée après avoir été vérifiée et modifiée au mauvais choix. – user3278732