Android 在编辑文本中单击时检查空格

Android 在编辑文本中单击时检查空格,android,android-edittext,Android,Android Edittext,我有一个定制的EditText类,现在发生的是已经对字段进行了验证,检查它的长度并进行修剪 但是,该应用程序正在崩溃,因为它可以在字段中单击并在1空格后插入数据 我如何在单击时验证该用户不能写入其数据?如果他/她使用一个空格写入数据,应用程序将崩溃,我将收到以下异常 java.lang.IllegalArgumentException: Start position must be less than the actual text length 提前感谢。修剪从编辑文本中获得的字符串

我有一个定制的
EditText
类,现在发生的是已经对字段进行了验证,检查它的长度并进行修剪

但是,该应用程序正在崩溃,因为它可以在字段中单击并在1空格后插入数据

我如何在单击时验证该用户不能写入其数据?如果他/她使用一个空格写入数据,应用程序将崩溃,我将收到以下异常

java.lang.IllegalArgumentException: Start position must be less than the actual text length

提前感谢。

修剪从编辑文本中获得的字符串

   String str=edtext.getText().toString().trim();


if(str!=null && !str.equalsIgnoreCase("")))
{
//perform your operations. 
}
else
{
//give error message.
}

通过以下方式首先获取编辑文本:

EditText name=(EditText) findViewById(R.id.txt);
String txtEdit=txt.getEditableText().toString();
然后通过以下方式检查文本长度验证:

if(txtEdit.length() == 0)  {

               //your code for what you want to do.

}              

您也可以进行修剪,但请记住这不会限制用户输入空格,如果要限制空格,则需要为
编辑文本添加
过滤器
。添加
filter
可以限制要避免的字符

备注-检查是否在给定链接上添加过滤器

将“addTextChangedListener”添加到您的EditText中,然后您可以检查您的验证。比如说,

txtEdit.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            String str = s.toString();
            if(str.length() > 0 && str.startsWith(" ")){
                Log.v("","Cannot begin with space");
                txtEdit.setText("");
            }else{
                Log.v("","Doesn't contain space, good to go!");
            }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }
    });

你能在错误发生的地方发布代码吗?忘了说,但我已经在做这个验证了。final int number=Integer.parseInt(formNumber.getTextField().getText().toString().trim());阿芬,谢谢。。。我已经有了面具。如何创建此筛选器?通过此给定链接Atul,问题是没有更改任何文本。当用户单击并在字段中留下空间时,应用程序正在崩溃。@莱昂纳多,请粘贴一些代码,这将有助于更好地理解问题?