您的位置:首页 > 其它

EditText 实时显示输入的字数与最大输入限制长度

2017-10-21 15:52 731 查看
废话不多说了,带来一个简单的EditText,满足一般的需求。

editText.addTextChangedListener(new TextWatcher() {

//记录输入的文字

private CharSequence wordNum;

private int selectionStart;

private int selectionEnd;

@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//输入框输入之前监听
}

//输入框实时监听
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//实时记录输入的文字
wordNum = s;
}

//输入完成之后的监听
@Override
public void afterTextChanged(Editable s) {
//TextView显示剩余字数
//这里的200 是你在XML文件里面设置的maxLength
textViewXianZhi.setText(s.length() + "/200");
selectionStart = editTextWenTi.getSelectionStart();
selectionEnd = editTextWenTi.getSelectionEnd();
if (wordNum.length() > num) {
//删除多余输入的字(不会显示出来)
s.delete(selectionStart - 1, selectionEnd);
int tempSelection = selectionEnd;
editTextWenTi.setText(s);
//设置光标在最后
editTextWenTi.setSelection(tempSelection);
}
}
});


最后就能有一个右下角显示 当前输入字数/最大限制字数的 EditText了

附XML布局:

EditText

android:id=”@+id/et_opinion_wenti”

android:layout_width=”660px”

android:layout_height=”320px”

android:layout_centerInParent=”true”

android:background=”@null”

android:gravity=”start”

android:hint=”@string/string_editor_detail_hint”

android:maxLength=”200”

android:minLines=”10”

android:paddingLeft=”20px”

android:paddingTop=”20px”

android:textColor=”#333333”

android:textColorHint=”#b3b3b3”

android:textSize=”28px”

TextView
android:id="@+id/tv_opinion_textnum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="20px"
android:layout_marginRight="30px"
android:textColor="#b3b3b3"
android:textSize="24px"




效果预览,这里使用相对布局,底下那一层是输入框,上面那一层是TexrView,用来显示输入字数/最大字数,注:图上的右下角蓝色那里,是TextView的位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  An EditText