Я использую многострочный текст редактирования, я ограничиваю символ, не превышающий 42 в Text Watcher, но я не могу удалить символ в моем тексте редактирования, он перемещается на новую строку. Как удалить символы и добавить новую строку, если символ в строке превышает предел?
Код XML:
<EditText
android:id = "@+id/edt_footer"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Thank you visit again"
android:maxLines = "3"
android:lines = "3"
android:ems = "18"
android:scrollbars = "vertical"
android:inputType = "textMultiLine"
android:gravity = "left|top"
android:layout_marginLeft = "@dimen/margin_20"
android:textSize = "20sp" />
Код Java:
footerEdt.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (count % 42 == 0)
{
((Editable) s).append("\n");
footerEdt.setSelection(footerEdt.getText().length());
}
}
});
Попробуй это
footerEdt.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (count % 42 == 0)
{
((Editable) s).append("\n");
footerEdt.setText(s);
footerEdt.setSelection(footerEdt.getText().length());
}
}
});
Не создаст ли это бесконечный цикл?
Вы читали stackoverflow.com/questions/23123833/…