Mögliches Duplikat: android-singleline-true-not-working-for-edittext
<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, dass das Obige EditText
nur eine einzige Zeile hat. Selbst wenn der Benutzer die Eingabetaste drückt, sollte der Cursor nicht in die zweite Zeile gelangen. Kann mir jemand dabei helfen?
android
android-edittext
Pankaj Singhal
quelle
quelle
android:singleLine=true
android:singleLine=true
.android:inputType="textVisiblePassword"
wird das Problem lösenAntworten:
Verwenden Sie
android:maxLines="1"
undandroid:inputType="text"
Sie haben das Attribut android: maxLines vergessen . Und beziehen Sie sich auf android: inputType In Ihrem Beispiel wird das folgende Ergebnis angezeigt :
quelle
23.0.1
SDK verwendeVerwendung
android:singleLine="true"
ist veraltet.Fügen Sie einfach Ihren Eingabetyp hinzu und setzen Sie maxline auf 1, und alles wird gut funktionieren
quelle
android:inputType="number"
es bereits maximal 1 Zeile gibt.android:singleLine
ist jetzt veraltet. Aus der Dokumentation :Sie können also einfach
android:inputType="textEmailSubject"
einen anderen Wert festlegen , der dem Inhalt des Felds entspricht.quelle
android:inputType="text"
.Sie müssen diese Zeile in Ihrem EditText in XML hinzufügen:
quelle
maxLines
undinputType
KombinationFügen Sie den obigen Code hinzu, um eine einzelne Zeile im EditText-Tag in Ihrem Layout zu haben.
quelle
Jetzt ist das
android:singleLine
Attribut veraltet. Bitte fügen Sie diese Attribute zu Ihrer hinzu,EditText
damit eineEditText
einzelne Zeile angezeigt wird.quelle
Ich habe dies in der Vergangenheit mit getan
android:singleLine="true"
und dann einen Listener für die Eingabetaste hinzugefügt:quelle
Dies funktioniert für den EditText:
Dann würde ich eine maximale Länge für den Eingabetext festlegen:
Das sind die 2, die jetzt benötigt werden.
quelle
Einschließen
android:singleLine="true"
quelle
Alle zeigen den XML-Weg, außer einer Person, die die setMaxLines-Methode von EditText aufruft. Als ich das tat, funktionierte es jedoch nicht. Eine Sache, die für mich funktioniert hat, war das Einstellen des Eingabetyps.
Dadurch können AZ, az, 0-9 und Sonderzeichen verwendet werden, die Eingabetaste kann jedoch nicht gedrückt werden. Wenn Sie die Eingabetaste drücken, wird zur nächsten GUI-Komponente gewechselt, sofern dies in Ihrer Anwendung zutreffend ist.
Möglicherweise möchten Sie auch die maximale Anzahl von Zeichen festlegen, die in diesen EditText eingefügt werden können. Andernfalls wird alles rechts davon vom Bildschirm verschoben oder einfach vom Bildschirm selbst entfernt. Sie können dies folgendermaßen tun:
Dadurch werden die maximalen Zeichen in diesem EditText auf 8 gesetzt. Hoffe das alles hilft dir.
quelle
Programmatisch:
quelle
verwenden
quelle
Bitte versuchen Sie diesen Code
quelle
Der @Aleks G OnKeyListener () funktioniert wirklich gut, aber ich habe ihn von MainActivity aus ausgeführt und musste ihn daher leicht ändern:
Ich hoffe, das hilft jedem, der versucht, dasselbe zu tun.
quelle
Um dies einzuschränken, müssen Sie nur die Option für eine einzelne Zeile auf "true" setzen.
quelle
Auch ist es wichtig zu achten , wenn die Eigenschaft Android - Version: input ist textMultiLine . In diesem Fall werden die Eigenschaften android: singleLine, android: imeOptions, android: ellipsize und android maxLines ignoriert und Ihr EditText akzeptiert ohnehin MultiLines.
quelle
Fügen Sie diese Zeile Ihrem Edittext hinzu
android: inputType = "text"
quelle
Wie
android:singleLine="true"
jetzt abgeschrieben so verwendenandroid: maxLines = "1"
Verwenden Sie stattdessen maxLines, um das Layout eines statischen Textes zu ändern, und verwenden Sie stattdessen das Flag textMultiLine im Attribut inputType für bearbeitbare Textansichten (wenn sowohl singleLine als auch inputType angegeben werden, überschreiben die inputType-Flags den Wert von singleLine).
quelle
Verwenden Sie den folgenden Code anstelle Ihres Codes
quelle
Fügen Sie in der XML-Datei diese Eigenschaften in Text bearbeiten hinzu
quelle
arbeitete für mich.
quelle
Sie müssen diese Zeile in Ihren EditText einfügen
und noch etwas, vergessen
android:inputType
Sie nicht einstellen (was auch immer Sie wollen, Text, Telefon .., aber Sie müssen es einstellen)quelle
Bei XML-Datei. Einfach hinzufügen
android: maxLines = "1"
quelle