【问题标题】:Cannot clear edittext after setText()setText() 后无法清除edittext
【发布时间】:2011-09-18 15:26:20
【问题描述】:

这是我的代码,但问题是当我想清除一些我无法清除的字符时

TWL=new TextWatcher(){


            public void afterTextChanged(Editable s) {



            }


            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {


            }


            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                 name.removeTextChangedListener(this);//after this line you do the editing code


               name.setText(s+"-");
               name.setSelection(name.getText().length());



               name.addTextChangedListener(TWL); // you register again for listener callbacks

            }};
        name = (EditText)findViewById(R.id.editText1);
         name.addTextChangedListener(TWL);

【问题讨论】:

  • 为什么要删除监听器然后再添加呢?这没有道理。此外,我没有在您的代码中看到任何字符删除 - 您所做的只是添加一个连字符
  • 删除字符的代码在哪里?
  • @Henrique Rocha 当我进入退格键时,我无法删除字符
  • 我遇到了同样的问题:使用 setText 设置文本后,TextWatcher 在输入更多文本之前不会响应删除。你找到解决办法了吗?

标签: android android-edittext listener settext


【解决方案1】:

我遇到了一个非常相似的问题。我有一个带有 OnKeyListener 的 EditText,但它没有让我删除 edittext 中的任何空格(我没有听任何“删除按钮”事件)。 当我尝试在侦听器中返回“false”(事件未完成)时,我发现出了什么问题。不是它像一个魅力。你确定你没有任何关键的听众吗?在那种情况下,当你“抓住”事件时,你会返回 false 吗?

希望对你有帮助

((EditText)findViewById(R.id.main_nome)).setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View view, int i, KeyEvent keyEvent) {
            if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
                //hide the keyboard
                InputMethodManager imm= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(findViewById(R.id.main_nome).getWindowToken(), 0);

                iniziaClicked(view);
                findViewById(R.id.loseFocus).requestFocus();
            }

            return false;
        }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2012-04-22
    • 2013-07-31
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    相关资源
    最近更新 更多