【发布时间】:2015-04-13 06:19:50
【问题描述】:
我正在尝试禁用 60 个字符后输入到 edittext 中的文本。这是我尝试实现的代码,
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) {
if (s.toString().replaceAll("\\s", "").length() <= 40) {
edittext.setKeyListener(variable);
} else {
//edittext.setCursorVisible(false);
edittext.setKeyListener(null);
Toast.makeText(PersonalChatActivity.this, "60 characs allowed", Toast.LENGTH_SHORT).show();
}
}
@Override
public void afterTextChanged(Editable s) {
edittext.setKeyListener((KeyListener)edittext.getTag());
}
});
还尝试设置 cetCoursorVisiblefalse(false) 、 setEnabled(false) 、 setFocusable(false) 、 setFocusableinTouchMode( false)。所有这些都可以正常工作。但是当我尝试通过按键盘上的后退按钮来清除文本时,文本 ain 't clearing.任何关于如何实施的建议。提前谢谢。
【问题讨论】:
-
是键盘的后退键还是删除键?
-
@AbhishekDabral 后退按钮键盘..用于清除文本..