Android: singleline = true не работает для edittext

Я хочу ограничить запись edittext одной строкой, но когда я добавляю строку android:singleline = "true", подсказка исчезает, и после ввода 26 символов курсор спускается.

Вот мой код XML:

   <EditText                      
            android:background="@drawable/edittxtborder"
            android:id="@+id/reglastname"
            android:singleLine="true"
            android:gravity="center"
            android:hint="@string/reglname"
            android:textSize="12dp" 
   />

Ответ 1

добавьте этот код в свой XML-код edittext.

android:ellipsize="end"

это будет работать.

Ответ 2

Я проверил ваш код, и проблема связана с android: gravity = "center". Измените его на android: gravity = "left", и вы сможете увидеть подсказку.

Ответ 3

Использовать значение для атрибута inputType кроме textMultiLine. Вход будет однострочным. Атрибут singleLine устарел.

Ответ 4

Вы можете использовать setMaxLines(int) для изменения номеров строк программно.

EditText edit_field = new EditText(this);
edit_field.setMaxLines(1);

Ответ 5

Вы можете отредактировать кнопку в коде напрямую, установив свой тип ввода в TYPE_CLASS_TEXT. Это позволит вводить все типы символов, чисел и пространства, но не вводить. Таким образом, он будет ограничивать его до одной строки.

EditText editText = new EditText(this);
editText.setInputType(InputType.TYPE_CLASS_TEXT);

Вы также должны ограничить максимальное количество символов, которые могут быть введены в EditText. Это также можно сделать с помощью кода с использованием InputFilter и вызова метода setFilters EditText с InputFilter.

Ответ 6

Пожалуйста, используйте

android:maxLines="1"

вместо

android:singleLine="true" due to deprecate