在android中,我想要一个限制为255个字节的编辑文本,所以当用户试图超过这个限制时,它就不会让他写了。
我看到的所有过滤器都使用字符限制,即使在xml布局中也是如此。
那么如何设置一个过滤器到edittext以限制为255个字节?
答案 0 :(得分:4)
一种解决方案是。
根据您设置的以字节为单位的阈值对EditText执行操作。
final int threshold = 255;
EditText editText = new EditText(getActivity());
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
int i = s.toString().getBytes().length;
if(i < threshold){
//Action needed
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
您需要将此示例应用于您自己的解决方案。
答案 1 :(得分:-1)
一个Charterer(char)是2个字节,如果你在editText中设置android:maxlength =“128”,你将得到你想要的限制
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:lines="1"
android:maxLength="128"
android:singleLine="true"
android:visibility="visible" />