2013-03-29 3 views
18

Я пытаюсь сделать edittext одной строкой. Редактор edittext появляется как одна строка, но при нажатии на него курсор переходит ко второй строке, и мне нужно остановить это. Атрибут singleLine устарел, поэтому я не хочу его использовать.Одиночная строка EditText в 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" /> 

Может кто-нибудь сообщить мне, что я здесь не так понял?

+1

Я не вижу никого, где singleLine не рекомендуется ..http: //developer.android.com/reference/android/widget/TextView.html#attr_android%3asingleLine проверить для справки – Pragnani

+0

@Pragnani При использовании Eclipse IDE , Single Line находится под устаревшим заголовком ... –

ответ

6

Используйте этот

android:singleLine="true" 

вместо,

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

singleLine устарел и, следовательно, не хочет его использовать. – mobiledev

+14

Не волнуйся об устаревании. Когда-нибудь он больше не будет работать. –

+0

android: singleLine = "true" - это авария моего приложения. – onder

43

Набор android:inputType на что-то другое, чем "ни", использование "текст", "номер" или что-то должно быть введено в EditText. Таким образом, вы можете сделать однострочный номер EditText. (Конечно, вы не должны использовать "textMultiLine", то;))

+2

Правильный ответ. Это должно быть 'android: maxLines =" 1 ", чтобы он выглядел как одиночная строка EditText и' android: inputType = "text" ', чтобы предотвратить ввод новой строки. Поэтому следует объединить их, чтобы получить желаемый результат. и 'android: lines =" 1 "' не обязательно –

+0

сохранил день :) потому что андроид: maxLines = "1" в одиночку без изменения inputType недостаточно, Спасибо большое :) –

1

использовать этот код:

<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" 
/> 
0

Это само по себе достаточно, чтобы сделать одну строку в 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" в одиночку решает одну строку в EditText.

Вам необходимо выбрать нужный inputType согласно вашему требованию.

Смежные вопросы