2013-03-29 23 views
18

Ich versuche, den Editiertext eine Zeile zu machen. Der editierte Text wird als einzelne Zeile angezeigt, aber wenn er gedrückt wird, erscheint der Cursor in der zweiten Zeile und ich muss dies stoppen. Das SingleLine-Attribut ist veraltet, daher möchte ich das nicht verwenden.Einzeilige EditText in Android

<EditText 
    android:id="@+id/txtSearch" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="5dp" 
    android:drawablePadding="5dp" 
    android:lines="1" 
    android:maxLines="1" 
    android:inputType="none" 
    android:scrollHorizontally="true" 
    android:paddingLeft="5dp" 
    android:textSize="12sp" /> 

Kann mich jemand wissen lassen, was ich hier falsch mache?

+1

Ich sehe nirgendwo, singleLine ist veraltet..http: //developer.android.com/reference/android/widget/TextView.html#attr_android%3asingleLine überprüfen Sie zur Referenz – Pragnani

+0

@Pragnani bei der Verwendung der Eclipse-IDE , Single Line steht unter der Veralteten Beschriftung ... –

Antwort

6

verwenden

android:singleLine="true" 

statt,

android:lines="1" 
android:maxLines="1" 
+7

singleLine ist veraltet und möchte daher nicht verwendet werden. – mobiledev

+14

Machen Sie sich Sorgen über die Abwertung. Eines Tages wird es nicht mehr funktionieren. –

+0

android: singleLine = "true" ist meine app crashen. – onder

43

Set android:inputType auf etwas anderes als "none", verwenden Sie "Text", "Nummer" oder was auch immer sollte in der EditText eingegeben werden. Auf diese Weise können Sie die EditText Single-Lined machen. (Natürlich sollten Sie nicht verwenden "textMultiLine" dann;))

+2

Richtige Antwort. Es sollte 'android: maxLines =" 1 "' sein, damit es wie ein einzeiliger EditText aussieht und 'android: inputType =" text "', um das Eingeben einer neuen Zeile zu verhindern. Daher sollte man diese kombinieren, um das gewünschte Ergebnis zu erhalten. und 'android: lines =" 1 "' ist nicht notwendig –

+0

speicherte den tag :) weil android: maxLines = "1" allein ohne zu ändern inputType ist nicht genug, Vielen Dank :) –

1

Verwendung diesen Code:

<EditText 
    android:id="@+id/Et_loginEmail" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/layout_bg" 
    android:hint="Email Address" 
    android:singleLine="true" 
    android:ellipsize="end" 
/> 
1

In Ihrem XML verwenden

android:singleLine="true" 
0

Das allein ist genug einzelne Zeile machen in EditText.

<EditText 
    android:id="@+id/fullname" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Full Name" 
    android:inputType="text"/> 

android:inputType="text" allein löst die einzige Zeile in EditText.

Sie müssen wählen Sie Ihre gewünschte inputType nach Ihrer Anforderung.