Intereting Posts
Отправлять и получать данные с сервера с помощью 6.0 API (Android) Webview заставляет мое scrollview снизу Как реализовать перетаскивание для Android маркера? Как получить общую площадь при рисовании на холсте андроида? Папки макетов для Google Nexus 7 и 10 Скрыть TextView через некоторое время в Android Какое минимальное количество шагов для получения полной поддержки javadoc с новыми параметрами проекта по умолчанию? Как подавить предупреждения при компиляции андроидной библиотеки с градиентом? Android – нажмите значок приложения ActionBar, создайте новый экземпляр активности Правильно обрабатывайте анимацию DrawerLayout при навигации по фрагменту Уничтожить приложение для Android Как исправить медленный Android-эмулятор? Экран запуска для Android-приложения с помощью jQuery Mobile Фрагмент анимации: разница между setCustomAnimations и setTransitionStyle Клавиатура bluetooth приведет к разрушению и восстановлению активности

Редактирование текста Android AlertDialog

Есть ли способ создать многострочный EditText в AlertDialog в Android . Я установил setLines, и он показывает большой EditText для нескольких строк. Но когда я набираю текст, он не переходит к следующей строке и все еще печатает в одной строке . Вот мой код.

Builder builder = new AlertDialog.Builder(this); builder.setTitle("Comment"); final EditText input = new EditText(this); final String item_value = ItemList.get(position).get("comment"); input.setText(item_value); input.setInputType(InputType.TYPE_CLASS_TEXT); input.setLines(5); input.setMaxLines(5); input.setGravity(Gravity.LEFT | Gravity.TOP); builder.setView(input); builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }); builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); AlertDialog alert = builder.create(); alert.show(); 

И мой диалог выглядит так. Введите описание изображения здесь

Так как я могу это исправить. Спасибо и приветствую.

Попробуйте этот код для вашего EditText:

 input.setSingleLine(false); //add this input.setLines(4); input.setMaxLines(5); input.setGravity(Gravity.LEFT | Gravity.TOP); input.setHorizontalScrollBarEnabled(false); //this 

Используйте тип ввода input.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE) и input.setSingleLine(false) . Таким образом, ваш код будет –

 Builder builder = new AlertDialog.Builder(this); builder.setTitle("Comment"); final EditText input = new EditText(this); final String item_value = ItemList.get(position).get("comment"); input.setText(item_value); input.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE); input.setSingleLine(false) input.setLines(5); input.setMaxLines(5); input.setGravity(Gravity.LEFT | Gravity.TOP); builder.setView(input); builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }); builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); AlertDialog alert = builder.create(); alert.show(); 
 Builder builder = new AlertDialog.Builder(this); builder.setTitle("Comment"); final EditText input = new EditText(this); final String item_value = ItemList.get(position).get("comment"); input.setText(item_value); input.setInputType(InputType.TYPE_CLASS_TEXT); input.setSingleLine(false); input.setMaxLines(5); input.setGravity(Gravity.LEFT | Gravity.TOP); builder.setView(input); builder.setPositiveButton("Ok", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int whichButton) { } }); builder.setNegativeButton("Cancel",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); AlertDialog alert = builder.create(); alert.show(); 

Это работает на меня. Вы можете использовать это свойство для среды выполнения EditText.

 <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="top|left" android:inputType="textMultiLine" android:lines="8" android:maxLines="10" android:minLines="6" android:scrollbars="vertical" /> 

Установите атрибут android:inputType="textMultiLine" в вашем XML.

Если это не сработает, вам необходимо реализовать TextWatcher и вручную разбить строки.