2016-06-07 20 views
2

Ich habe eine App, in der ich Textfelder bearbeiten kann, in denen ich eine Handynummer und ein Passwort eingeben muss. Das Problem ist, dass die EditText Fehleranzeige die Handynummer und das Kennwort abdeckt und der Benutzer die Handynummer nicht eingeben kann. Wie löse ich das?Wie man Textfehlerposition in Android redigieren lässt?

Screenshot

+0

zeigen Sie Ihre Layout-Datei und wie die Schnittstelle sein sollte –

Antwort

8

verwenden android.support.design.widget.TextInputLayout. , die unten den Fehler zum Edittext .so zeigen können Sie einfach folgende Sache wie Ihre number und password in die neue Edittext schreiben.

Hier ist xml-Code:

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="?attr/actionBarSize" 
     android:orientation="vertical" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:paddingTop="60dp"> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_name" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_name" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:singleLine="true" 
       android:hint="@string/hint_name" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_email" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_email" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textEmailAddress" 
       android:hint="@string/hint_email" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_password" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textPassword" 
       android:hint="@string/hint_password" /> 
     </android.support.design.widget.TextInputLayout> 
</LinearLayout> 

Lassen Sie uns die ScreenShot überzeugen Sie zu verstehen.

leer Edientext.

enter image description here

Fehlermeldung EditText.

enter image description here

0

@Nitin: Eigentlich EditText Verhalten möchte, dass Sie in der EditText konzentrieren, um die SetError Nachricht zu verwerfen, die fehlerhaften Daten zu korrigieren und zu anderen Bereichen zu gehen.

+0

@nitin: Lösung Ironman vorgeschlagen ist gut. Und es enthält auch die Material-Design-Komponenten, die weit überlegen ist. – user492888

Verwandte Themen