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,问题是没有更改任何文本。当用户单击并在字段中留下空间时,应用程序正在崩溃。@莱昂纳多,请粘贴一些代码,这将有助于更好地理解问题?