ограничить edittext одной строкой

возможный дубликат: android-singleline-true-not-working-for-edittext

  

Я хочу, чтобы вышеупомянутый EditText имел только одну строку. Даже если пользователь нажимает «Enter», курсор не должен опускаться во вторую строку. Может ли кто-нибудь помочь мне в этом?

Использовать android:maxLines="1" и android:inputType="text"

Вы забыли атрибут android: maxLines . И обратитесь к android: inputType. В вашем примере ниже приведен этот результат:

   

Использование android:singleLine="true" устарело.

Просто добавьте свой тип ввода и установите maxline на 1, и все будет нормально работать

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

android:singleLine теперь устарела. Из документации :

Эта константа была устарела в уровне API 3.

Этот атрибут устарел. maxLines этого используйте maxLines для изменения макета статического текста и используйте флаг textMultiLine в атрибуте inputType вместо доступных для редактирования текстовых представлений (если поставляются как singleLine, так и inputType, флаги inputType будут переопределять значение singleLine).

Таким образом, вы можете просто установить android:inputType="textEmailSubject" или любое другое значение, соответствующее содержимому поля.

Вы должны добавить эту строку в свой EditText в xml:

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

Добавьте вышеприведенный код, чтобы иметь одну строку в теге EditText в вашем макете.

 android:singleLine="true" is deprecated 

Эта константа была устарела в уровне API 3 .

Этот атрибут устарел. Вместо этого используйте maxLines для изменения макета статического текста и используйте флаг textMultiLine в атрибуте inputType вместо доступных для редактирования текстовых представлений (если поставляются как singleLine, так и inputType, флаги inputType будут переопределять значение singleLine).

Теперь android:singleLine атрибут android:singleLine устарел. Добавьте эти атрибуты в свой EditText чтобы EditText был отдельной строкой.

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

В прошлом я делал это с помощью android:singleLine="true" а затем добавлял слушатель для клавиши “enter”:

 ((EditText)this.findViewById(R.id.mytext)).setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) { //if the enter key was pressed, then hide the keyboard and do whatever needs doing. InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0); //do what you need on your enter key press here return true; } return false; } }); 

Это будет работать для EditText:

 android:inputType="text" 

Тогда я бы установил максимальную длину для входного текста:

 android:maxLines="1" 

Это те 2, которые нужны сейчас.

Включить android:singleLine="true"

Каждый демонстрирует XML-способ, за исключением того, что один человек показал вызов метода setMaxLines EditText. Однако, когда я это сделал, это не сработало. Одна вещь, которая работала для меня, – это установка типа ввода.

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

Это позволяет использовать AZ, az, 0-9 и специальные символы, но не позволяет вводить нажатие. Когда вы нажмете enter, он перейдет к следующему компоненту GUI, если это применимо в вашем приложении.

Вы также можете установить максимальное количество символов, которые могут быть помещены в этот EditText, иначе он будет толкать все, что находится справа от него, или просто начинать завершение самого экрана. Вы можете сделать это следующим образом:

 InputFilter[] filters = new InputFilter[1]; filters[0] = new InputFilter.LengthFilter(8); editText.setFilters(filters); 

Это устанавливает максимальные символы в 8 в этом EditText. Надеюсь, все это вам поможет.

Чтобы ограничить вас, вам просто нужно установить опцию одиночной строки на «true».

 android:singleLine="true" 

использование

 android:ellipsize="end" android:maxLines="1" 

Используйте код ниже, а не код

  

@Aleks G OnKeyListener () работает очень хорошо, но я запускал его из MainActivity, поэтому мне пришлось немного его модифицировать:

 EditText searchBox = (EditText) findViewById(R.id.searchbox); searchBox.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) { //if the enter key was pressed, then hide the keyboard and do whatever needs doing. InputMethodManager imm = (InputMethodManager) MainActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(searchBox.getApplicationWindowToken(), 0); //do what you need on your enter key press here return true; } return false; } }); 

Надеюсь, это поможет любому, кто пытается сделать то же самое.

Также важно обратить внимание, если свойство android: inputType – textMultiLine . Если это так, свойства android: singleLine, android: imeOptions, android: ellipsize и android maxLines будут проигнорированы, и ваш EditText будет принимать MultiLines в любом случае.

Добавьте эту строку в свой текст

Android: inputType = “текст”

Programatically:

 textView.setMaxLines(1); 

Поскольку android:singleLine="true" теперь амортизируется, поэтому используйте

андроид: MAXLINES = “1”

Вместо этого используйте maxLines для изменения макета статического текста и используйте флаг textMultiLine в атрибуте inputType вместо доступных для редактирования текстовых представлений (если поставляются как singleLine, так и inputType, флаги inputType будут переопределять значение singleLine).

попробуйте этот код

 android:inputType="textPersonName" 

в XML-файле добавьте это свойство в Edit Text

  android:maxLines="1" 
 android:imeOptions="actionDone" 

работал на меня.

  • Значок ошибки EditText и отображаемый пароль
  • Рисование нескольких строк в редакторе, например, блокнот
  • Как отключить всплывающее окно клавиатуры, когда на edittext?
  • Очистить текст в EditText при вводе
  • Десятичный разделитель запятой (',') с номеромDecimal inputType в EditText
  • Android - ручка «Enter» в EditText
  • Остановить ScrollView от автоматической прокрутки до EditText
  • Как использовать class TextWatcher в Android?
  • Как изменить цвет плавающей метки TextInputLayout
  • Дизайн Android EditText, чтобы отобразить сообщение об ошибке, как описано в Google
  • Как нарисовать округленный прямоугольник в Android UI?
  • Давайте будем гением компьютера.