18

有没有办法在不设置文本的情况下重置edittext值:

((EditText) findViewById(R.id.yoursXmlId)).setText("");

编辑:

当我使用 setText("") 时调用 Textchanged 列表器。

4

5 回答 5

35

另一种选择是:EditText.getText().clear();但无论如何你都必须投:

((EditText) findViewById(R.id.yoursXmlId)).getText().clear();

于 2013-07-31T10:08:00.693 回答
17

您可以使用以下方式

科特林:

myEditText.text.clear()

爪哇:

EditText myEditText = ((EditText) findViewById(R.id.yoursXmlId));
myEditText.getText().clear()
于 2013-07-31T10:17:16.500 回答
0

我有一个三星设备没有用 setText("") 清除文本的情况,所以我使用了:

字符串空白 = "\u0020"; // 空格字符

设置文本(空白);

它以这种方式工作。可能是字体问题。

于 2016-10-08T12:29:23.460 回答
0

如果有人发现所选答案不起作用,请尝试

editText.post(() -> editText.getText().clear());

或者

editText.post(new Runnable() {
            @Override
            public void run() {
                editText.getText().clear();
            }
        });
于 2018-05-03T10:55:58.367 回答
0

一个功能是:

fun setTextViewEmpty(textView: TextView){
(textView as EditText ).text.clear()   }

受此启发

于 2020-09-07T11:52:06.910 回答