每次更改后重置editText的值

时间:2012-12-03 18:43:01

标签: android android-edittext textwatcher

我希望editText的值在行new nwcomm.execute(cmd,cmd1)之后设置为null,以便我可以在键盘上按下它们时发送密钥。我试过keyboard.setText(null);,但它不起作用。我该怎么办?

keyboard.addTextChangedListener(new TextWatcher() {
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // TODO Auto-generated method stub
        String stt="key_";
        String key=keyboard.getText().toString();
        String cmd=stt+key;
        new nwcomm().execute(cmd,cmd1);
    }
}

2 个答案:

答案 0 :(得分:1)

根据我链接的文档,您应该使用afterTextChanged而不是onTextChanged。这应该可以解决您清除TextView的问题;但是,你必须小心不要进入无限循环这样做。您必须添加空字符串检查,例如

keyboard.addTextChangedListener(new TextWatcher(){
    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
        String key = s.toString();
        if ( key.isEmpty() )
            return;
        String stt="key_";
        String cmd=stt+key;
        new nwcomm().execute(cmd,cmd1);
        s.clear();
}

这应该是诀窍。

答案 1 :(得分:0)

每当您想要重置edittext值时,请使用editText.setText(“”);