【问题标题】:clear edittext when button is pressed按下按钮时清除edittext
【发布时间】:2012-08-12 02:27:32
【问题描述】:

我希望我的 onTextChanged 类在用户输入“空格”时读取,以便我可以清除我的 EditText 视图。问题是按下空格键时没有任何反应。有谁知道我做错了什么?我的程序不会崩溃,它什么也不做。

 public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                SS.setText(s);
                if (s.equals("r")) {
                    SS.setText(s);
                    et.setText(" ");
                }
            }

                @Override
                public void beforeTextChanged(CharSequence s, int start, int count,
                        int after) {
                    et.setTextColor(Color.parseColor("#000000"));

                }

                @Override
                public void afterTextChanged(final Editable s) {
                    // cancel the previous search if any

                    // toasted();
                    if (delayedAction != null) {
                        handler.removeCallbacks(delayedAction);
                    }
                    // toasted();

                    // define a new search
                    delayedAction = new Runnable() {

                        @Override
                        public void run() {
                            // start your search
                            // toasted();

                            // if (s.toString().equals(current)) {
                            // // toasted(); <== Here is where it needs to work
                            // // Toast.LENGTH_LONG).show();
                            // }

                            et.setTextColor(Color.parseColor("#C0C0C0"));
                            toasted();
                            tv.setText(et.getText().toString());
                            tv.setTextColor(Color.parseColor("#66CC66"));
                            et.setText("");
                        }

                    };

【问题讨论】:

  • 试试这个:et.setText(""); //no space。我不确定,但我认为您正在创建一个无限循环。
  • SS 的值是多少?
  • 我创建了一个新的文本视图来打印出 s 的值。并且文本视图的名称是 SS
  • 我能够让 SS 打印,SS 现在确实得到了 s 的值,我将重新发布编辑过的代码,但我仍然有让我的程序读取密钥并启动另一个密钥的问题行动

标签: java android textview android-edittext textwatcher


【解决方案1】:

应该是s.equals(" ") 而不是s.equals(' ')

【讨论】:

  • 我试过了,得到了同样的结果,但是我把它改回来了。
  • 它对我有用。可能是日志,看看“s”是什么,不止一个空格?
  • 根据我的测试,s 没有值。我确信 s 是用户的输入。我将发布完整的代码段
【解决方案2】:

你可以试试。

Pattern pattern = Pattern.compile("\\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-03
    • 2016-09-06
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 2011-08-10
    相关资源
    最近更新 更多