Có cách nào chỉ định số dòng tối đa cho số EditText
không? Bằng cách đó tôi có nghĩa là tất cả các dòng văn bản, không chỉ những dòng hiển thị (như thuộc tính the android:maxLines
được mô tả). Số dòng không được là 1, do đó, android:singleLine
không phải là một tùy chọn.Đặt số dòng văn bản tối đa cho EditText
Trả lời
Bạn có thể sử dụng này:
android:singleLine="false" android:lines="5"
Tôi không biết nếu đó là những gì bạn cần.
android:maxLength="140"
Tôi tin rằng điều này bằng một dòng, về lý thuyết bạn có thể thay đổi maxlength thành "700", có thể là 5 dòng. Tôi không chắc chắn về các con số nhưng logic đằng sau nó là hợp lệ.
Điều đó không hợp lệ. Điều gì sẽ xảy ra nếu người dùng nhập 140x Enter? Sau đó anh tạo 140 dòng. – Sebi
Sebi- những gì người dùng nhập không tạo ra số dòng tối đa. đây là mã chương trình đặt giới hạn. – Hounge
Câu trả lời này không đúng với tôi. Như đề cập đến @Sebi, 140 ký tự có thể kéo dài nhiều dòng khác nhau, tùy thuộc vào ký tự nằm trong chuỗi. Ngoài ngắt dòng, có sự khác biệt lớn giữa chiều rộng 140 'của tôi và 140' m. – PaulrBear
Tôi tin rằng bạn có thể sử dụng mã này để kiểm tra số lượng dòng trong EditText,
editText.getLayout().getLineCount() > row-limit;
Tốt bạn có thể sử dụng nó trong "afterTextChanged()" một TextWatcher Listener để không cho phép người sử dụng để nhập thêm nếu đã đạt đến giới hạn hàng.
edit.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
if(editText.getLayout().getLineCount() > row-limit){
//Code to stop edittext from being edited any further.
}
});
bộ android: Maxlines = "2" trong xml và thêm:
edittext.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { }
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { }
@Override
public void afterTextChanged(Editable editable) {
if (null != edittext.getLayout() && edittext.getLayout().getLineCount() > 2) {
edittext.getText().delete(edittext.getText().length() - 1, edittext.getText().length());
}
}
});
là giải pháp cho tôi. Cùng bạn có thể làm cho 3,4 ... n hàng giới hạn cho edittext của bạn.
Bạn có thể định dạng mã theo cách thích hợp và cũng có thể giải thích nó một chút nếu bạn có thể? –
maxLines = "2" trong edittext của bạn trong xml - chỉ hiển thị 2 hàng cho người dùng, nhưng anh ấy có thể nhập nhiều hơn 2 hàng. Trong trường hợp này 1 hàng sẽ bị ẩn và người dùng sẽ thấy hàng thứ hai và thứ ba, v.v ..Trong phương thức afterTextChanged (Editable editable), chúng ta kiểm tra - biểu tượng mới có xuất hiện ở hàng thứ ba hay không, hoặc nó vẫn ở vị trí thứ hai hoặc thứ nhất. nếu biểu tượng xuất hiện ở hàng thứ ba - chúng tôi sẽ xóa nó. Vì vậy, văn bản không thể dài hơn 2 hàng trong văn bản. – fvolodimir
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
public class EditTextLinesLimiter implements TextWatcher {
private EditText editText;
private int maxLines;
private String lastValue = "";
public EditTextLinesLimiter(EditText editText, int maxLines) {
this.editText = editText;
this.maxLines = maxLines;
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
lastValue = charSequence.toString();
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (editText.getLineCount() > maxLines) {
int selectionStart = editText.getSelectionStart() - 1;
editText.setText(lastValue);
if (selectionStart >= editText.length()) {
selectionStart = editText.length();
}
editText.setSelection(selectionStart);
}
}
}
Và sau đó:
editText.addTextChangedListener(new EditTextLinesLimiter(editText, 2));
- 1. Cách lấy số dòng tối đa của Văn bản
- 2. đặt số lượng tối đa các dòng trong uilabel
- 3. Cách đặt số ký tự tối đa trên mỗi dòng cho chế độ xem văn bản trong android
- 4. Android EditText Độ dài tối đa
- 5. Cách đặt văn bản trong EditText
- 6. Chiều rộng tối đa động cho văn bản
- 7. Xóa một EditText đa dòng
- 8. Mã Java để gói dòng văn bản vào chiều rộng dòng tối đa
- 9. Các dòng tối đa và tối đa
- 10. Gán màu văn bản cho văn bản trong edittext
- 11. làm cho gói JLabel là văn bản bằng cách đặt chiều rộng tối đa
- 12. Bọc văn bản có chiều cao tối đa cố định
- 13. EditText sẽ không bao bọc văn bản
- 14. Số lượng ký tự tối đa của Hộp văn bản (không phải là MaxLength)
- 15. cách đặt văn bản thành Edittext trong hộp thoại?
- 16. android edittext minmum và giá trị tối đa
- 17. EditText setText() đặt văn bản trên nhiều chế độ xem EditText
- 18. Lớp văn bản Qml (chiều rộng tối đa)
- 19. Tách văn bản thành các dòng có chiều dài tối đa
- 20. EditText - Nhận văn bản từ EditText khi gõ
- 21. EditText với một dòng văn bản, dòng gói và hành động Xong?
- 22. Loại nhập văn bản EditText cho trường StreetNumber
- 23. hộp văn bản nhiều dòng tự động điều chỉnh chiều cao theo số lượng văn bản
- 24. Hộp văn bản đa dạng WPF cho nội dung lớn
- 25. Độ dài tối đa trong văn bản sử dụng jQuery
- 26. Làm cách nào để đặt tiêu điểm ở bên phải văn bản trong EditText cho android?
- 27. Đặt số ký tự tối thiểu/tối đa cho bất kỳ ký tự nào sử dụng cụm từ thông dụng
- 28. Đặt inputType cho EditText?
- 29. Triển khai Trình theo dõi văn bản cho EditText
- 30. Làm cách nào để đặt số lượng cuộn tối đa và kích thước nhật ký tối đa cho tomcat?
số android: dòng là về đường nhìn thấy được. Tôi quan tâm đến các dòng văn bản. Nếu bạn đặt android: lines thành văn bản chỉnh sửa và bạn viết 10 dòng, bạn sẽ có 10 dòng văn bản, nhưng chỉ có 5 dòng hiển thị. Những gì tôi muốn là có tối đa 5 dòng văn bản. Sau dòng fift bạn không thể viết được nữa. Cảm ơn vi đa trả lơi. – Gratzi
Được rồi, nhưng không có bản dựng trong "giới hạn hàng". Bạn phải tự mình làm điều đó. Có một chủ đề về stackoverflow với một mã mẫu, có thể bạn có thể sử dụng nó: http://stackoverflow.com/questions/7092961/edittext-maxlines-not-working-user-can-still-input-more-lines-than- thiết lập – MartijnG
Tôi thấy bài đăng đó, nhưng sửa chữa chỉ xử lý khóa nhập và nó không phải là rất thanh lịch. Bạn xóa các phần của văn bản, ngay cả khi nó không phải là cần thiết để làm như vậy. – Gratzi