在 OnTextChanged 事件中更改 EditText 内容的正确方法
下面的代码会导致无限循环问题(如文档所述)。 那么如何设置editText内容呢? 我有一个短信应用程序,其中 EditText 显示“键入以撰写”,我想删除 用户开始输入消息后的说明。 TIA
et.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if(et.getText().toString().equals(getString(R.string.txtMessage_type_to_compose))) {
try {
et.setText("");
} catch (Exception e) {
Log.d(TAG,"exception : " + e.toString());
}
}
});
This code below causes infinate loop problem (as documented).
So how do I set the editText contents?
I have a text message app where the EditText says "Type to compose",I want to remove
the instructions once a user starts to enter a message. TIA
et.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if(et.getText().toString().equals(getString(R.string.txtMessage_type_to_compose))) {
try {
et.setText("");
} catch (Exception e) {
Log.d(TAG,"exception : " + e.toString());
}
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你做错了。相反,请在您的
EditText
中使用它:操作系统将负责删除该文本,您无需解决该问题。而且,它看起来会更漂亮。
You are doing the wrong way. Instead, use this in your
EditText
:The OS will take care of removing that text, and you won't have to workaround that. Also, it will look prettier.