【发布时间】:2013-07-31 19:16:08
【问题描述】:
有没有办法在不设置文本的情况下重置edittext值:
((EditText) findViewById(R.id.yoursXmlId)).setText("");
编辑:
当我使用 setText("") 时调用 Textchanged 列表器。
【问题讨论】:
-
如果你想以编程方式,那么你必须使用我认为的这种方法。
标签: android
有没有办法在不设置文本的情况下重置edittext值:
((EditText) findViewById(R.id.yoursXmlId)).setText("");
编辑:
当我使用 setText("") 时调用 Textchanged 列表器。
【问题讨论】:
标签: android
另一个选项是:EditText.getText().clear(); 但无论如何你都必须投射:
((EditText) findViewById(R.id.yoursXmlId)).getText().clear();
【讨论】:
EditText 中写一些东西,初始文本会再次出现
你可以使用以下方式
科特林:
myEditText.text.clear()
Java:
EditText myEditText = ((EditText) findViewById(R.id.yoursXmlId));
myEditText.getText().clear()
【讨论】:
我遇到过三星设备没有使用 setText("") 清除文本的情况,所以我使用了:
字符串空白 = "\u0020"; // 空格符
设置文本(空白);
它就是这样工作的。可能是字体问题。
【讨论】:
如果有人发现所选答案不起作用 请尝试
editText.post(() -> editText.getText().clear());
或
editText.post(new Runnable() {
@Override
public void run() {
editText.getText().clear();
}
});
【讨论】:
【讨论】: