364 Stimmen

Editiertext auf eine Zeile beschränken

Mögliches Duplikat : Android-einzelzeilig-wirklich-nicht-für-den-Text-arbeiten

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:lines="1"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search...">
</EditText>

Ich möchte die oben genannten EditText nur eine Zeile zu haben. Selbst wenn der Benutzer die Eingabetaste drückt, sollte der Cursor nicht in die zweite Zeile gelangen. Kann mir jemand helfen, das zu tun?

648voto

Praveenkumar Punkte 25555

Verwenden Sie android:maxLines="1" y android:inputType="text"

Sie haben die Android:maxLines Attribut. Und siehe für Android:inputType Bei Ihrem Beispiel wird dieses Ergebnis unten angezeigt:

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:maxLines="1"
    android:inputType="text"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search...">
</EditText>

225voto

ralphgabb Punkte 9768

Verwendung von android:singleLine="true" ist veraltet.

Fügen Sie einfach Ihren Eingabetyp hinzu und setzen Sie maxline auf 1 und alles wird gut funktionieren

android:inputType="text"
android:maxLines="1"

56voto

Mr. Bungle Punkte 1626

android:singleLine ist jetzt veraltet. Vom Dokumentation :

Diese Konstante wurde in API Stufe 3 veraltet.

Dieses Attribut ist veraltet. Verwenden Sie maxLines um das Layout eines statischen Textes zu ändern, und verwenden Sie die textMultiLine Flag im inputType-Attribut für bearbeitbare Textansichten (wenn sowohl singleLine als auch inputType angegeben werden, überschreiben die inputType-Flags den Wert von singleLine).

Sie könnten also einfach android:inputType="textEmailSubject" oder ein anderer Wert, der dem Inhalt des Feldes entspricht.

18voto

UGD Punkte 363

Sie müssen diese Zeile in Ihrem EditText in xml hinzufügen:

android:maxLines="1"

16voto

ChrisR Punkte 599
android:maxLines="1"
android:inputType="text"

Fügen Sie den obigen Code hinzu, um eine einzelne Zeile im EditText-Tag in Ihrem Layout zu haben.

android:singleLine="true" is deprecated

Diese Konstante war Abgelehnt en API-Stufe 3 .

Dieses Attribut ist veraltet. Verwenden Sie stattdessen maxLines, um die Layout eines statischen Textes zu ändern, und verwenden Sie das textMultiLine-Flag in der inputType-Attribut stattdessen für editierbare Textansichten (wenn beide singleLine und inputType angegeben werden, werden die inputType-Flags den Wert von singleLine außer Kraft).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X