从EditText获取整个文本

时间:2013-07-10 07:35:03

标签: java android

当我在EditText中输入“sa”时,它只需要s。我如何通过我的整个文本? 假设我想将文本与字符串“sa”进行比较,如何从edittext获取整个文本?

e = (EditText) findViewById(R.id.selection);
                  //edittext watcher
                e.addTextChangedListener(new TextWatcher() {

                    public void onTextChanged(CharSequence s, int start, int before,
                            int count) {
                                //getting edittext
                        String s1 =s.toString();

                        System.out.println("edittext :" + s1);
                        // compare edittext string woth arraylist
                        if (s1.length() >=1) {

 //taking stringbuilder to add list items                           StringBuilder sb = new StringBuilder();
                            for(inti=0;i<orginalarrayelements.length;i++)
                            {
        //compare edittext with arraylist with region matches                       if(orginalarrayelements[i].regionMatches(true, 0, s1, 0, s1.length())){
                                        sb.append(orginalarrayelements[i] +",");
                                        System.out.println("modified array: " + sb);
                            }

}

1 个答案:

答案 0 :(得分:1)

我认为您正试图从EditText获取全文,对吧?

每次文本更改时都会调用

OnTextChanged,因此如果删除了一个字母,它将始终只包含一个字母或null。

如果您想获得全文,请拨打e.getText().toString();中的OnTextChanged,按钮上的OnClick或其他任何地方。

顺便说一句:重新考虑一下你的名字:“e”不是你应该使用的名字。采取类似“editText”,“myEditText”,“usernameEditText”,...

的内容