gpt4 book ai didi

android - 使 edittext 在 60 个字符后不可编辑

转载 作者:搜寻专家 更新时间:2023-11-01 07:54:46 27 4
gpt4 key购买 nike

我试图禁止文本在 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) 。所有这些工作正常。但是当我尝试通过按键盘上的后退按钮清除文本时,文本是't clearing.任何关于如何实现这个的建议。提前致谢。

最佳答案

    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().length() <= 60)) {
edittext.setText(s.subSequence(0, 60));
edittext.setSelection(edittext.getText().length());
}

}

@Override
public void afterTextChanged(Editable s) {
}
});

关于android - 使 edittext 在 60 个字符后不可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29598952/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com